On Tue, Dec 12, 2023 at 08:25:35AM -0400, Jason Gunthorpe wrote:
> > +static inline struct page_pool_iov *page_to_page_pool_iov(struct page 
> > *page)
> > +{
> > +   if (page_is_page_pool_iov(page))
> > +           return (struct page_pool_iov *)((unsigned long)page & ~PP_IOV);
> > +
> > +   DEBUG_NET_WARN_ON_ONCE(true);
> > +   return NULL;
> > +}
> 
> We already asked not to do this, please do not allocate weird things
> can call them 'struct page' when they are not. It undermines the
> maintainability of the mm to have things mis-typed like
> this. Introduce a new type for your thing so the compiler can check it
> properly.

Yes.  Or even better avoid this mess entirely..

Reply via email to