Re: [PATCH 1/1] mm/rmap: add CONFIG_MM_ID guard for folio_test_large_maybe_mapped_shared()
From: Lance Yang
Date: Thu Apr 17 2025 - 09:27:19 EST
Hi David,
Thanks for taking the time to review!
On Thu, Apr 17, 2025 at 8:56 PM David Hildenbrand <david@xxxxxxxxxx> wrote:
>
> On 17.04.25 14:49, Lance Yang wrote:
> > Add a compile-time check to make sure folio_test_large_maybe_mapped_shared()
> > is only used with CONFIG_MM_ID enabled, as it directly accesses the _mm_ids
> > field that only works under CONFIG_MM_ID.
> >
> > Suggested-by: David Hildenbrand <david@xxxxxxxxxx>
> > Signed-off-by: Mingzhe Yang <mingzhe.yang@xxxxxx>
>
> ^ should that be here?
Yep, that's my email too ;p
>
> > Signed-off-by: Lance Yang <ioworker0@xxxxxxxxx>
> > ---
> > include/linux/page-flags.h | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h
> > index d3909cb1e576..6bd9b9043976 100644
> > --- a/include/linux/page-flags.h
> > +++ b/include/linux/page-flags.h
> > @@ -1232,6 +1232,8 @@ static inline int folio_has_private(const struct folio *folio)
> >
> > static inline bool folio_test_large_maybe_mapped_shared(const struct folio *folio)
> > {
> > + /* This function should never be called without CONFIG_MM_ID enabled. */
> > + BUILD_BUG_ON(!IS_ENABLED(CONFIG_MM_ID));
> > return test_bit(FOLIO_MM_IDS_SHARED_BITNUM, &folio->_mm_ids);
> > }
> > #undef PF_ANY
>
> That should work. I can throw this into a cross-compile setup later if I
> get to it.
>
Yeah, just built kernels with and without both CONFIG_MM_ID and
CONFIG_TRANSPARENT_HUGEPAGE -- no issues either way ;p
> Acked-by: David Hildenbrand <david@xxxxxxxxxx>
Thanks again for your time,
Lance
>
> --
> Cheers,
>
> David / dhildenb
>