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
shouldn't.

Ben.

--
Ben Hutchings, Software Developer  Codethink Ltd
https://www.codethink.co.uk/ Dale House, 35 Dale Street
Manchester, M1 2HF, United Kingdom