Subject: linux-next: manual merge of the net-next tree with the mm-unstable tree

From: Mark Brown <[email-masked]>
Date: Fri, 27 Feb 2026 13:54:20 +0000

Hi all,

Today's linux-next merge of the net-next tree got a conflict in:

  include/net/netmem.h

between commit:

  0a8a9198a887f ("mm: introduce a new page type for page pool in page type")

from the mm-unstable tree and commit:

  fd6dad4e1ae29 ("netmem: remove the pp fields from net_iov")

from the net-next tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging.  You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

diff --cc include/net/netmem.h
index 85e3b26ec547f,a6d65ced52315..0000000000000
--- a/include/net/netmem.h
+++ b/include/net/netmem.h
@@@ -93,38 -93,11 +93,21 @@@ enum net_iov_type 
   *		supported.
   */
  struct net_iov {
- 	union {
- 		struct netmem_desc desc;
- 
- 		/* XXX: The following part should be removed once all
- 		 * the references to them are converted so as to be
- 		 * accessed via netmem_desc e.g. niov->desc.pp instead
- 		 * of niov->pp.
- 		 */
- 		struct {
- 			unsigned long _flags;
- 			unsigned long pp_magic;
- 			struct page_pool *pp;
- 			unsigned long _pp_mapping_pad;
- 			unsigned long dma_addr;
- 			atomic_long_t pp_ref_count;
- 		};
- 	};
- 
+ 	struct netmem_desc desc;
 -	struct net_iov_area *owner;
 +	unsigned int page_type;
  	enum net_iov_type type;
 +	struct net_iov_area *owner;
  };
  
 +/* Make sure 'the offset of page_type in struct page == the offset of
 + * type in struct net_iov'.
 + */
 +#define NET_IOV_ASSERT_OFFSET(pg, iov)			\
 +	static_assert(offsetof(struct page, pg) ==	\
 +		      offsetof(struct net_iov, iov))
 +NET_IOV_ASSERT_OFFSET(page_type, page_type);
 +#undef NET_IOV_ASSERT_OFFSET
 +
  struct net_iov_area {
  	/* Array of net_iovs for this area. */
  	struct net_iov *niovs;