public inbox for qemu-devel@nongnu.org
 help / color / mirror / Atom feed
* [PATCH 0/3] user: recursive signal delivery fix and test
@ 2026-03-21 13:56 Nicholas Piggin
  2026-03-21 13:56 ` [PATCH 1/3] linux-user: sigaltstack lock_user_struct missing unlock Nicholas Piggin
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Nicholas Piggin @ 2026-03-21 13:56 UTC (permalink / raw)
  To: qemu-devel
  Cc: Nicholas Piggin, Warner Losh, Kyle Evans, Laurent Vivier,
	Pierrick Bouvier, Alex Bennée, Peter Maydell

I found this recursive delivery problem when testing new riscv vector
state support patches (plus a minor lock user balance bug).

This or similar type of issue was fixed with 8bd3773cce1 but I couldn't
see exactly what scenario that was addressing. Is there any other way a
signal can be generated during handle_pending_signal()? The SIGTTIN
case, perhaps?

Thanks,
Nick

Nicholas Piggin (3):
  linux-user: sigaltstack lock_user_struct missing unlock
  bsd-user, linux-user: signal: recursive signal delivery fix
  tests/tcg: add recursive signal delivery tests

 bsd-user/signal.c            |  10 +-
 linux-user/signal.c          |  36 +++---
 tests/tcg/multiarch/badsig.c | 226 +++++++++++++++++++++++++++++++++++
 3 files changed, 252 insertions(+), 20 deletions(-)
 create mode 100644 tests/tcg/multiarch/badsig.c

-- 
2.51.0



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-03-21 15:51 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-21 13:56 [PATCH 0/3] user: recursive signal delivery fix and test Nicholas Piggin
2026-03-21 13:56 ` [PATCH 1/3] linux-user: sigaltstack lock_user_struct missing unlock Nicholas Piggin
2026-03-21 13:56 ` [PATCH 2/3] bsd-user, linux-user: signal: recursive signal delivery fix Nicholas Piggin
2026-03-21 15:51   ` Warner Losh
2026-03-21 13:56 ` [PATCH 3/3] tests/tcg: add recursive signal delivery tests Nicholas Piggin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox