[PATCH v2 0/2] arm64: DC {ZVA,GVA,GZVA} shouldn't be used when DCZID_EL0.DZP == 1

Reiji Watanabe reijiw at google.com
Sun Nov 7 23:11:47 PST 2021


DCZID_EL0.DZP indicates whether or not use of DC {ZVA,GVA,GZVA} is
prohibited. However, clear_page(), mte_set_mem_tag_range(), and
mte_zero_clear_page_tags() use those instructions without checking it.

Fix those functions not to use DC {ZVA,GVA,GZVA} when DCZID_EL0.DZP == 1.

v2:
 - Fix mte_set_mem_tag_range() and mte_zero_clear_page_tags() not to use
   DC {GVA,GZVA} when DCZID_EL0.DZP == 1. [Mark]
 - Fix a typo of the comment in clear_page() [Mark]
 - Fix a loop of for stp in clear_page() for more consistency with
   the existing loop  [Mark]

v1: https://lore.kernel.org/all/20211026034844.1393437-1-reijiw@google.com/

Reiji Watanabe (2):
  arm64: clear_page() shouldn't use DC ZVA when DCZID_EL0.DZP == 1
  arm64: mte: DC {GVA,GZVA} shouldn't be used when DCZID_EL0.DZP == 1

 arch/arm64/include/asm/mte-kasan.h |  8 +++++---
 arch/arm64/lib/clear_page.S        | 10 ++++++++++
 arch/arm64/lib/mte.S               |  8 +++++++-
 3 files changed, 22 insertions(+), 4 deletions(-)

-- 
2.34.0.rc0.344.g81b53c2807-goog




More information about the linux-arm-kernel mailing list