[PATCH v3 4/7] arm64: mte: Lock a page for MTE tag initialisation
Catalin Marinas
catalin.marinas at arm.com
Fri Sep 2 09:28:47 PDT 2022
On Fri, Sep 02, 2022 at 03:47:33PM +0100, Steven Price wrote:
> On 10/08/2022 20:30, Peter Collingbourne wrote:
> > 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
More information about the linux-arm-kernel
mailing list