On Tue, Nov 14, 2023 at 05:46:43PM +0800, Xi Ruoyao wrote: > On Tue, 2023-11-14 at 02:33 +0800, Xi Ruoyao wrote: > > Hi, > > > > With Linux 6.7.0-rc1, several tst-robust* tests time out on x86_64: > > > > FAIL: nptl/tst-robust1 > > FAIL: nptl/tst-robust3 > > FAIL: nptl/tst-robust4 > > FAIL: nptl/tst-robust6 > > FAIL: nptl/tst-robust7 > > FAIL: nptl/tst-robust9 > > > > This does not happen with Linux 6.6.0. Do you have some clue about > > it? > > Bisected to the kernel commit: > > commit 5694289ce183bc3336407a78c8c722a0b9208f9b (HEAD) > Author: peterz@xxxxxxxxxxxxx <peterz@xxxxxxxxxxxxx> > Date: Thu Sep 21 12:45:08 2023 +0200 > > futex: Flag conversion > > Futex has 3 sets of flags: > > - legacy futex op bits > - futex2 flags > - internal flags > > Add a few helpers to convert from the API flags into the internal > flags. > > Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> > Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > Reviewed-by: Andr<C3><A9> Almeida <andrealmeid@xxxxxxxxxx> > Link: https://lore.kernel.org/r/20230921105247.722140574@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx I can confirm. I'm also going crazy trying to figure out how this happens. The below is sufficient to make it unhappy... /me most puzzled --- diff --git a/kernel/futex/futex.h b/kernel/futex/futex.h index b5379c0e6d6d..1a1f9301251f 100644 --- a/kernel/futex/futex.h +++ b/kernel/futex/futex.h @@ -17,7 +17,7 @@ * restarts. */ #ifdef CONFIG_MMU -# define FLAGS_SHARED 0x01 +# define FLAGS_SHARED 0x10 #else /* * NOMMU does not have per process address space. Let the compiler optimize @@ -25,8 +25,8 @@ */ # define FLAGS_SHARED 0x00 #endif -#define FLAGS_CLOCKRT 0x02 -#define FLAGS_HAS_TIMEOUT 0x04 +#define FLAGS_CLOCKRT 0x20 +#define FLAGS_HAS_TIMEOUT 0x40 #ifdef CONFIG_FAIL_FUTEX extern bool should_fail_futex(bool fshared);