Re: [PATCH 4.4 051/268] asm-generic: provide generic_pmdp_establish()

From: Greg Kroah-Hartman
Date: Tue Jun 12 2018 - 14:49:08 EST


On Mon, Jun 11, 2018 at 01:55:17PM +0100, Ben Hutchings wrote:
> On Mon, 2018-05-28 at 12:00 +0200, Greg Kroah-Hartman wrote:
> > 4.4-stable review patch.  If anyone has any objections, please let me know.
> >
> > ------------------
> >
> > From: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx>
> >
> > [ Upstream commit c58f0bb77ed8bf93dfdde762b01cb67eebbdfc29 ]
> >
> > Patch series "Do not lose dirty bit on THP pages", v4.
> >
> > Vlastimil noted that pmdp_invalidate() is not atomic and we can lose
> > dirty and access bits if CPU sets them after pmdp dereference, but
> > before set_pmd_at().
> >
> > The bug can lead to data loss, but the race window is tiny and I haven't
> > seen any reports that suggested that it happens in reality.  So I don't
> > think it worth sending it to stable.
> [...]
> > This patch (of 12):
> >
> > This is an implementation of pmdp_establish() that is only suitable for
> > an architecture that doesn't have hardware dirty/accessed bits.  In this
> > case we can't race with CPU which sets these bits and non-atomic
> > approach is fine.
> [...]
>
> There's no point in applying just this patch, since it adds a new
> function that nothing will call.
>
> I tend to think that since this is fixing a potential data loss, the
> whole series should be backported. But the commit message here says it
> shouldn't.

Hm, I thought there was some reason for this patch, as I thought it came
up before. Sasha do you remember? Should I just revert it?

thanks,

greg k-h