On Wed, Mar 18, 2020 at 9:54 PM Sasha Levin <sashal@xxxxxxxxxx> wrote: > > From: Peter Zijlstra <peterz@xxxxxxxxxxxxx> > > [ Upstream commit 8019ad13ef7f64be44d4f892af9c840179009254 ] > > As reported by Jann, ihold() does not in fact guarantee inode > persistence. And instead of making it so, replace the usage of inode > pointers with a per boot, machine wide, unique inode identifier. > > This sequence number is global, but shared (file backed) futexes are > rare enough that this should not become a performance issue. Please also take this patch, together with 8d67743653dce5a0e7aa500fcccb237cde7ad88e "futex: Unbreak futex hashing", into the older stable branches. This has to go all the way back; as far as I can tell, the bug already existed at the beginning of git history.