* Ingo Molnar <mi...@kernel.org> 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