Re: [PATCH] mm/migrate: properly preserve write attribute in special migrate entry

From: Andrew Morton
Date: Tue Apr 03 2018 - 18:32:47 EST


On Sun, 1 Apr 2018 22:35:06 -0400 jglisse@xxxxxxxxxx wrote:

> From: Ralph Campbell <rcampbell@xxxxxxxxxx>
>
> Use of pte_write(pte) is only valid for present pte, the common code
> which set the migration entry can be reach for both valid present
> pte and special swap entry (for device memory). Fix the code to use
> the mpfn value which properly handle both cases.
>
> On x86 this did not have any bad side effect because pte write bit
> is below PAGE_BIT_GLOBAL and thus special swap entry have it set to
> 0 which in turn means we were always creating read only special
> migration entry.

Does this mean that the patch only affects behaviour of non-x86 systems?

> So once migration did finish we always write protected the CPU page
> table entry (moreover this is only an issue when migrating from device
> memory to system memory). End effect is that CPU write access would
> fault again and restore write permission.

That sounds a bit serious. Was a -stable backport considered?