lkml.org 
[lkml]   [2018]   [Mar]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH 13/22] signal: Move addr_lsb into the _sigfault union for clarity
    Dave Hansen <dave.hansen@intel.com> writes:

    > On 03/16/2018 12:00 PM, Dave Hansen wrote:
    >> 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?
    >
    > It does not revert cleanly so I reverted it manually. Patch doing that
    > is attached. Should we do this, or is there a better option?

    Please see:
    859d880cf544 ("signal: Correct the offset of si_pkey in struct siginfo")

    Eric

    \
     
     \ /
      Last update: 2018-03-16 21:08    [W:3.023 / U:0.072 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site