diff options
author | Ingo Molnar <mingo@kernel.org> | 2024-01-02 10:41:38 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2024-01-02 10:41:38 +0100 |
commit | 67a1723344cfe05430977483d6d3c7a999480143 (patch) | |
tree | f27e4398049f485c3fa44322e4f3ddde10796f8c /arch/arm64/include/asm/pgtable.h | |
parent | a51749ab34d9e5dec548fe38ede7e01e8bb26454 (diff) | |
parent | 610a9b8f49fbcf1100716370d3b5f6f884a2835a (diff) |
Merge tag 'v6.7-rc8' into locking/core, to pick up dependent changes
Pick up these commits from Linus's tree:
b106bcf0f99a ("locking/osq_lock: Clarify osq_wait_next()")
563adbfc351b ("locking/osq_lock: Clarify osq_wait_next() calling convention")
7c2230982129 ("locking/osq_lock: Move the definition of optimistic_spin_node into osq_lock.c")
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/arm64/include/asm/pgtable.h')
-rw-r--r-- | arch/arm64/include/asm/pgtable.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h index b19a8aee684c..79ce70fbb751 100644 --- a/arch/arm64/include/asm/pgtable.h +++ b/arch/arm64/include/asm/pgtable.h @@ -834,6 +834,12 @@ static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) pte = set_pte_bit(pte, __pgprot(PTE_DIRTY)); pte_val(pte) = (pte_val(pte) & ~mask) | (pgprot_val(newprot) & mask); + /* + * If we end up clearing hw dirtiness for a sw-dirty PTE, set hardware + * dirtiness again. + */ + if (pte_sw_dirty(pte)) + pte = pte_mkdirty(pte); return pte; } |