Public bug reported:

[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.

** Affects: linux-aws (Ubuntu)
     Importance: Undecided
         Status: New

** Affects: linux-aws (Ubuntu Bionic)
     Importance: Undecided
         Status: New

** Affects: linux-aws (Ubuntu Focal)
     Importance: Undecided
         Status: New

** Affects: linux-aws (Ubuntu Groovy)
     Importance: Undecided
         Status: New

** Affects: linux-aws (Ubuntu Hirsute)
     Importance: Undecided
         Status: New

** Also affects: linux-aws (Ubuntu Groovy)
   Importance: Undecided
       Status: New

** Also affects: linux-aws (Ubuntu Hirsute)
   Importance: Undecided
       Status: New

** Also affects: linux-aws (Ubuntu Bionic)
   Importance: Undecided
       Status: New

** Also affects: linux-aws (Ubuntu Focal)
   Importance: Undecided
       Status: New

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux-aws in Ubuntu.
https://bugs.launchpad.net/bugs/1908503

Title:
  arm64: prevent losing page dirty state

Status in linux-aws package in Ubuntu:
  New
Status in linux-aws source package in Bionic:
  New
Status in linux-aws source package in Focal:
  New
Status in linux-aws source package in Groovy:
  New
Status in linux-aws source package in Hirsute:
  New

Bug description:
  [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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-aws/+bug/1908503/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to