[SRU][B/aws, F/aws, G/aws, H/aws][PATCH 0/1] arm64: prevent losing page dirty state

Andrea Righi andrea.righi at canonical.com
Thu Dec 17 09:42:32 UTC 2020


BugLink: https://bugs.launchpad.net/bugs/1908503

[Impact]

With hardware dirty bit management enabled calling pte_wrprotect() on a dirty
PTE will clean the dirty state without flushing the content of the page to the
backing store.

[Test case]

Bug reported by Amazon, a specific test case is not provided. This problem has
been hit by a customer.

[Fix]

Apply commit:
 ff1712f953e27f0b0718762ec17d0adb15c9fd0b ("arm64: pgtable: Ensure dirty bit is preserved across pte_wrprotect()")

Backport activity is minimal, it only requires to adjust the context a bit to
remove the previous pte_wrprotect() implementation.

[Regression potential]

The fix is specific for arm64 pgtable, it is an upstream fix also marked for
stable. The only potential downside could be the extra overhead introduced by
the additional call to pte_mkdirty() in pte_wrprotect(), so worst case scenario
it could introduce a performance regression. It doesn't seem to potentially
introduce any other kind of regression / breakage.




More information about the kernel-team mailing list