[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <29eb3438-0891-36ee-e5f6-36e26ccf2b89@intel.com>
Date: Fri, 16 Mar 2018 12:00:16 -0700
From: Dave Hansen <dave.hansen@...el.com>
To: "Eric W. Biederman" <ebiederm@...ssion.com>,
linux-kernel@...r.kernel.org
Cc: Al Viro <viro@...iv.linux.org.uk>, Oleg Nesterov <oleg@...hat.com>,
linux-arch@...r.kernel.org
Subject: Re: [PATCH 13/22] signal: Move addr_lsb into the _sigfault union for
clarity
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?
Powered by blists - more mailing lists