backport request for 3.16 [was: Re: [PATCH AUTOSEL 5.4 30/73] futex: Fix inode life-time issue]
From: Jann Horn
Date: Wed Apr 08 2020 - 05:48:53 EST
@Ben: You'll probably also want to take these two into the next 3.16 release.
Sorry, I forgot that 3.16 has a different maintainer...
On Mon, Mar 23, 2020 at 8:18 PM Jann Horn <jannh@xxxxxxxxxx> wrote:
>
> 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.