arch/microblaze/kernel/signal.c | 8 ++++++++ arch/microblaze/kernel/syscalls/syscall.tbl | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-)
Two independent fixes to the microblaze signal-delivery path, both found while bringing the uClibc-ng NPTL test suite up on microblazeel under qemu-system (petalogix-s3adsp1800). Patch 1 wires up sigaltstack(), which is currently routed to sys_ni_syscall even though the signal code fully supports an alternate stack - microblaze is the only architecture leaving it unimplemented. Patch 2 reserves the ABI argument-home area at the top of the signal frame. The MicroBlaze calling convention reserves [r1+0] for the return address and lets a handler store its incoming register arguments r5..r10 into [r1+4]..[r1+24]; since r1 points at struct rt_sigframe on entry, those stores land in siginfo/ucontext and corrupt the signal state. A seven-word leading gap moves them into scratch space. Both were tested with the uClibc-ng NPTL tests; the affected tests (tst-cancel20/21, tst-cancelx20/21, tst-signal6, tst-timer4/5, tst-mqueue5) pass. checkpatch --strict is clean and both apply to current linux-next. Changes since v1 [1]: - Patch 2: shrink the gap from eight to seven words. Michal pointed out that the home area is exactly seven words (r15 at r1+0, r5..r10 at r1+4..r1+24); the eighth word was never written by the ABI. Retested on qemu - tst-timer4/5, tst-mqueue5, tst-signal6 still pass. - Patch 2: fix the offset range in the commit message and the in-code comment ([r1+4]..[r1+24], not [r1+28]). - Patch 1: unchanged. [1] https://lore.kernel.org/all/cover.1780587199.git.lordrasmus@gmail.com/ Ramin Moussavi (2): microblaze: wire up sigaltstack microblaze: reserve the ABI argument-home area in the signal frame arch/microblaze/kernel/signal.c | 8 ++++++++ arch/microblaze/kernel/syscalls/syscall.tbl | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) -- 2.53.0
On 6/5/26 10:20, Ramin Moussavi wrote: > Two independent fixes to the microblaze signal-delivery path, both found > while bringing the uClibc-ng NPTL test suite up on microblazeel under > qemu-system (petalogix-s3adsp1800). > > Patch 1 wires up sigaltstack(), which is currently routed to > sys_ni_syscall even though the signal code fully supports an alternate > stack - microblaze is the only architecture leaving it unimplemented. > > Patch 2 reserves the ABI argument-home area at the top of the signal > frame. The MicroBlaze calling convention reserves [r1+0] for the return > address and lets a handler store its incoming register arguments r5..r10 > into [r1+4]..[r1+24]; since r1 points at struct rt_sigframe on entry, > those stores land in siginfo/ucontext and corrupt the signal state. A > seven-word leading gap moves them into scratch space. > > Both were tested with the uClibc-ng NPTL tests; the affected tests > (tst-cancel20/21, tst-cancelx20/21, tst-signal6, tst-timer4/5, > tst-mqueue5) pass. checkpatch --strict is clean and both apply to > current linux-next. > > Changes since v1 [1]: > - Patch 2: shrink the gap from eight to seven words. Michal pointed > out that the home area is exactly seven words (r15 at r1+0, r5..r10 > at r1+4..r1+24); the eighth word was never written by the ABI. > Retested on qemu - tst-timer4/5, tst-mqueue5, tst-signal6 still pass. > - Patch 2: fix the offset range in the commit message and the in-code > comment ([r1+4]..[r1+24], not [r1+28]). > - Patch 1: unchanged. > > [1] https://lore.kernel.org/all/cover.1780587199.git.lordrasmus@gmail.com/ > > Ramin Moussavi (2): > microblaze: wire up sigaltstack > microblaze: reserve the ABI argument-home area in the signal frame > > arch/microblaze/kernel/signal.c | 8 ++++++++ > arch/microblaze/kernel/syscalls/syscall.tbl | 2 +- > 2 files changed, 9 insertions(+), 1 deletion(-) > 2 issues here. 1. Do not send it as reply to v1 but separately. 2. Author of patch is not matching SOB in the email You are sending it from Ramin Moussavi <lordrasmus@gmail.com> and SOB has Ramin Moussavi <ramin.moussavi@yacoub.de> Please fix it and send v3 Thanks, Michal -- Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91 w: www.monstr.eu p: +42-0-721842854 Maintainer of Linux kernel - Xilinx Microblaze Maintainer of Linux kernel - Xilinx Zynq ARM and ZynqMP/Versal ARM64 SoCs U-Boot custodian - Xilinx Microblaze/Zynq/ZynqMP/Versal/Versal NET SoCs TF-A maintainer - Xilinx ZynqMP/Versal/Versal NET SoCs
© 2016 - 2026 Red Hat, Inc.