From: Ramin Moussavi <lordrasmus@gmail.com>
To: Michal Simek <monstr@monstr.eu>
Cc: linux-kernel@vger.kernel.org, Ramin Moussavi <lordrasmus@gmail.com>
Subject: [PATCH v2 0/2] microblaze: fix signal-frame handling for NPTL
Date: Fri, 5 Jun 2026 10:20:48 +0200 [thread overview]
Message-ID: <cover.1780647609.git.lordrasmus@gmail.com> (raw)
In-Reply-To: <cover.1780587199.git.lordrasmus@gmail.com>
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
next prev parent reply other threads:[~2026-06-05 8:20 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-04 15:37 [PATCH 0/2] microblaze: fix signal-frame handling for NPTL Ramin Moussavi
2026-06-04 15:37 ` [PATCH 1/2] microblaze: wire up sigaltstack Ramin Moussavi
2026-06-04 15:37 ` [PATCH 2/2] microblaze: reserve the ABI argument-home area in the signal frame Ramin Moussavi
2026-06-05 6:42 ` Michal Simek
[not found] ` <CAJxQxNCFym69FGxuDh_1gt+v91btBq3bvEnc=5eSApfMP=3pAA@mail.gmail.com>
2026-06-05 7:54 ` Michal Simek
2026-06-05 8:20 ` Ramin Moussavi [this message]
2026-06-05 8:20 ` [PATCH v2 1/2] microblaze: wire up sigaltstack Ramin Moussavi
2026-06-05 8:20 ` [PATCH v2 2/2] microblaze: reserve the ABI argument-home area in the signal frame Ramin Moussavi
2026-06-05 8:34 ` [PATCH v2 0/2] microblaze: fix signal-frame handling for NPTL Michal Simek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1780647609.git.lordrasmus@gmail.com \
--to=lordrasmus@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=monstr@monstr.eu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox