| Subject | Re: [PATCH 13/22] signal: Move addr_lsb into the _sigfault union for clarity | From | Dave Hansen <> | Date | Fri, 16 Mar 2018 12:00:16 -0700 |
| |
On 01/15/2018 04:40 PM, Eric W. Biederman wrote: > The addr_lsb fields is only valid and available when the > signal is SIGBUS and the si_code is BUS_MCEERR_AR or BUS_MCEERR_AO. > Document this with a comment and place the field in the _sigfault union > to make this clear. > > All of the fields stay in the same physical location so both the old > and new definitions of struct siginfo will continue to work.
This breaks the ABI and breaks protection keys. The physical locations *DO* change.
Before this patch:
#define si_pkey _sifields._sigfault._pkey (gdb) print &((siginfo_t *)0)->_sifields._sigfault._pkey $1 = (__u32 *) 0x20 <irq_stack_union+32>
and after:
+#define si_pkey _sifields._sigfault._addr_pkey._pkey (gdb) print &((siginfo_t *)0)->_sifields._sigfault._addr_pkey._pkey $1 = (__u32 *) 0x1c
Can we revert this, please?
|