Re: [PATCH 6/6] x86: Fix stray A/D bit setting into non-present PTEs

From: Linus Torvalds
Date: Fri Jul 01 2016 - 12:07:58 EST


On Thu, Jun 30, 2016 at 9:39 PM, Dave Hansen <dave@xxxxxxxx> wrote:
>
> I think what you suggest will work if we don't consider A/D in
> pte_none(). I think there are a bunch of code path where assume that
> !pte_present() && !pte_none() means swap.

Hmm.

Thinking about it some more, I still think it's a good idea to avoid
A/D bits in the swap entries and in pte_none() and friends, and it
might simplify some of this all.

But I also started worrying about us just losing sight of the dirty
bit in particular. It's not enough that we ignore the dirty bit - we'd
still want to make sure that the underlying backing page gets marked
dirty, even if the CPU is buggy and ends doing it "delayed" after
we've already unmapped the page.

So I get this feeling that we may need a fair chunk of your patch-series anyway.

Linus