On Fri, Sep 02, 2022 at 03:47:33PM +0100, Steven Price wrote:
On 10/08/2022 20:30, Peter Collingbourne wrote:
quoted
diff --git a/arch/arm64/mm/mteswap.c b/arch/arm64/mm/mteswap.c
index a78c1db23c68..cd5ad0936e16 100644
--- a/arch/arm64/mm/mteswap.c
+++ b/arch/arm64/mm/mteswap.c
@@ -53,6 +53,9 @@ bool mte_restore_tags(swp_entry_t entry, struct page *page)
if (!tags)
return false;
+ /* racing tag restoring? */
+ if (!try_page_mte_tagging(page))
+ return false;
mte_restore_page_tags(page_address(page), tags);
I feel like adding a "set_page_mte_tagged(page);" in here would avoid
the need for the comments about mte_restore_tags() taking the lock.
Good point. I think I blindly followed the set_bit() places but it makes
sense to move the bit setting to mte_restore_tags().
Thanks for the review.
--
Catalin
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel