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