Message ID | 20220729201942.30738-1-richard.henderson@linaro.org |
---|---|
State | Accepted |
Commit | 1eaa63429a9944265c92efdb94c02fabb231f564 |
Headers | show |
Series | [for-7.1?] linux-user/riscv: Align signal frame to 16 bytes | expand |
On Sat, Jul 30, 2022 at 6:19 AM Richard Henderson <richard.henderson@linaro.org> wrote: > > Follow the kernel's alignment, as we already noted. > > Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1093 > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Alistair > --- > linux-user/riscv/signal.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/linux-user/riscv/signal.c b/linux-user/riscv/signal.c > index 296e39fbf0..eaa168199a 100644 > --- a/linux-user/riscv/signal.c > +++ b/linux-user/riscv/signal.c > @@ -64,9 +64,7 @@ static abi_ulong get_sigframe(struct target_sigaction *ka, > > /* This is the X/Open sanctioned signal stack switching. */ > sp = target_sigsp(sp, ka) - framesize; > - > - /* XXX: kernel aligns with 0xf ? */ > - sp &= ~3UL; /* align sp on 4-byte boundary */ > + sp &= ~0xf; > > return sp; > } > -- > 2.34.1 > >
On Sat, Jul 30, 2022 at 6:19 AM Richard Henderson <richard.henderson@linaro.org> wrote: > > Follow the kernel's alignment, as we already noted. > > Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1093 > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Thanks! Applied to riscv-to-apply.next Alistair > --- > linux-user/riscv/signal.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/linux-user/riscv/signal.c b/linux-user/riscv/signal.c > index 296e39fbf0..eaa168199a 100644 > --- a/linux-user/riscv/signal.c > +++ b/linux-user/riscv/signal.c > @@ -64,9 +64,7 @@ static abi_ulong get_sigframe(struct target_sigaction *ka, > > /* This is the X/Open sanctioned signal stack switching. */ > sp = target_sigsp(sp, ka) - framesize; > - > - /* XXX: kernel aligns with 0xf ? */ > - sp &= ~3UL; /* align sp on 4-byte boundary */ > + sp &= ~0xf; > > return sp; > } > -- > 2.34.1 > >
diff --git a/linux-user/riscv/signal.c b/linux-user/riscv/signal.c index 296e39fbf0..eaa168199a 100644 --- a/linux-user/riscv/signal.c +++ b/linux-user/riscv/signal.c @@ -64,9 +64,7 @@ static abi_ulong get_sigframe(struct target_sigaction *ka, /* This is the X/Open sanctioned signal stack switching. */ sp = target_sigsp(sp, ka) - framesize; - - /* XXX: kernel aligns with 0xf ? */ - sp &= ~3UL; /* align sp on 4-byte boundary */ + sp &= ~0xf; return sp; }
Follow the kernel's alignment, as we already noted. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1093 Signed-off-by: Richard Henderson <richard.henderson@linaro.org> --- linux-user/riscv/signal.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)