Subject: Re: [PATCH] [v3] x86, pkeys: fix siginfo ABI breakage from new field

From: Ingo Molnar <[email-masked]>
Date: Tue, 1 Mar 2016 09:09:04 +0100

* Ingo Molnar <[email-masked]> wrote:

> > I also shouldn't have been using a u64 in a userspace API to begin with.
> 
> Well, it's __u64 that we use in UAPIs, and they can be used just fine, as long 
> as the structure's field alignments is managed explicitly, i.e. there's no 
> automatic alignment padding done by the compiler.

Btw., what we should not have used in a modern user ABI are variable size 
pointers:

                                struct {
                                        void __user *_lower;
                                        void __user *_upper;
                                } _addr_bnd;

we should have used constant size structure elements for that, such as __u64.

Had we done that, the pkeys change would not have been a problem either.

Is it too late to change that, is there any si_code=SEGV_BNDERR usage in 
user-space?

Thanks,

	Ingo