https://bugs.kde.org/show_bug.cgi?id=359871
Bug ID: 359871 Summary: Incorrect mask handling in ppoll Product: valgrind Version: unspecified Platform: Other OS: Linux Status: UNCONFIRMED Severity: normal Priority: NOR Component: general Assignee: jsew...@acm.org Reporter: so...@archy.org.uk Created attachment 97583 --> https://bugs.kde.org/attachment.cgi?id=97583&action=edit Test program The ppoll() syscall wrapper applies precisely the signal mask which the guest asks for, which leads to deadlocks if the guest asks to block SIGVGKILL. The attached test program shows the issue (exits after 1 second with SIGALRM if run natively; sits until ctrl-C'd if run under Valgrind), and the attached patch seems to fix it (against r15817). I'm not entirely convinced that the patch is the right approach, though (modifying the guest's copy of the sigmask when the kernel doesn't doesn't seem like a great idea). The obvious answer, of doing the entire call in the PRE() method and setting status to SsComplete, works even worse, though, because if you get a signal there then fixup_guest_state_after_syscall_interrupted() doesn't know how to deal with it. -- You are receiving this mail because: You are watching all bug changes.