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

From: Ingo Molnar
Date: Tue Mar 01 2016 - 03:09:15 EST



* Ingo Molnar <mingo@xxxxxxxxxx> 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