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

From: Ben Hutchings
Date: Mon Jun 11 2018 - 08:55:31 EST

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


Ben Hutchings, Software Developer  Codethink Ltd Dale House, 35 Dale Street
Manchester, M1 2HF, United Kingdom