On Wed, 2023-11-15 at 09:51 +0100, Peter Zijlstra wrote: > On Wed, Nov 15, 2023 at 01:11:20AM +0000, Edgecombe, Rick P wrote: > > On Tue, 2023-11-14 at 21:14 +0100, Peter Zijlstra wrote: > > > Urgh, thanks! > > > > > > Confirmed, the below cures things. Although I should probably > > > make > > > that > > > FLAGS_SIZE_32 | FLAGS_SHARED against Linus' tree. > > > > > > Let me go do a proper patch. > > > > I saw these fail on the glibc shadow stack branch today, and I also > > saw > > this one failing: > > FAIL: nptl/tst-robustpi8 > > tip/locking/urgent (branch with the fix on) gets me: > > root@ivb-ep:/usr/local/src/glibc# ./build/nptl/tst-robustpi8 > running child > verifying locks > running child > verifying locks > running child > verifying locks > running child > verifying locks > running child > verifying locks > root@ivb-ep:/usr/local/src/glibc# > > Which, to my untrained eye, looks like a pass to me. It bisects to this for me: fbeb558b0dd0 ("futex/pi: Fix recursive rt_mutex waiter state") Reading the patch, I'm not immediately clear what is going on but a few comments stood out: "There be dragons here" "What could possibly go wrong..." "This is a somewhat dangerous proposition". Seems a likelihood of some race, but it reproduces reliably on my machine. Haven't dug into debugging it yet. Any pointers?