Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b8aeec34 authored by Hidetoshi Seto's avatar Hidetoshi Seto Committed by Andi Kleen
Browse files

HWPOISON/signalfd: add support for addr_lsb



Similar change as to signal delivery: copy out the si_addr_lsb field
to user space in signalfd

Signed-off-by: default avatarHidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
parent 6b0cd00b
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -98,6 +98,16 @@ static int signalfd_copyinfo(struct signalfd_siginfo __user *uinfo,
		err |= __put_user((long) kinfo->si_addr, &uinfo->ssi_addr);
#ifdef __ARCH_SI_TRAPNO
		err |= __put_user(kinfo->si_trapno, &uinfo->ssi_trapno);
#endif
#ifdef BUS_MCEERR_AO
		/* 
		 * Other callers might not initialize the si_lsb field,
		 * so check explicitly for the right codes here.
		 */
		if (kinfo->si_code == BUS_MCEERR_AR ||
		    kinfo->si_code == BUS_MCEERR_AO)
			err |= __put_user((short) kinfo->si_addr_lsb,
					  &uinfo->ssi_addr_lsb);
#endif
		break;
	case __SI_CHLD:
+2 −1
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ struct signalfd_siginfo {
	__u64 ssi_utime;
	__u64 ssi_stime;
	__u64 ssi_addr;
	__u16 ssi_addr_lsb;

	/*
	 * Pad strcture to 128 bytes. Remember to update the
@@ -43,7 +44,7 @@ struct signalfd_siginfo {
	 * comes out of a read(2) and we really don't want to have
	 * a compat on read(2).
	 */
	__u8 __pad[48];
	__u8 __pad[46];
};