On Fri, 13 Sep 2024 09:27:17 -0700 Mina Almasry wrote: > diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h > index 5769fe6e4950..ea4005d2d1a9 100644 > --- a/include/linux/page-flags.h > +++ b/include/linux/page-flags.h > @@ -239,8 +239,8 @@ static inline unsigned long _compound_head(const > struct page *page) > { > unsigned long head = READ_ONCE(page->compound_head); > > - if (unlikely(head & 1)) > - return head - 1; > + if (unlikely(head & 1UL)) > + return head & ~1UL; > return (unsigned long)page_fixed_fake_head(page); > } > > Other than that I think this is a correct fix. Jakub, what to do here. > Do I send this fix to the mm tree or to net-next? Yes, please, send this out and CC all the relevant people. We can decide which tree it will go into once its reviewed. Stephen, would you be willing to slap this on top of linux-next for now? I can't think of a better bandaid we could put in net-next, and it'd be sad to revert a major feature because of a compiler bug(?)