On Thu, Oct 23, 2025 at 12:44 AM Byungchul Park [off-list ref] wrote:
quoted hunk ↗ jump to hunk
->pp_magic field in struct page is current used to identify if a page
belongs to a page pool. However, ->pp_magic will be removed and page
type bit in struct page e.g. PGTY_netpp should be used for that purpose.
As a preparation, the check for net_iov, that is not page-backed, should
avoid using ->pp_magic since net_iov doens't have to do with page type.
Instead, nmdesc->pp can be used if a net_iov or its nmdesc belongs to a
page pool, by making sure nmdesc->pp is NULL otherwise.
For page-backed netmem, just leave unchanged as is, while for net_iov,
make sure nmdesc->pp is initialized to NULL and use nmdesc->pp for the
check.
Signed-off-by: Byungchul Park <byungchul@sk.com>
---
net/core/devmem.c | 1 +
net/core/netmem_priv.h | 8 ++++++++
net/core/page_pool.c | 16 ++++++++++++++--
3 files changed, 23 insertions(+), 2 deletions(-)
diff --git a/net/core/devmem.c b/net/core/devmem.c
index d9de31a6cc7f..f81b700f1fd1 100644
--- a/net/core/devmem.c
+++ b/net/core/devmem.c
@@ -291,6 +291,7 @@ net_devmem_bind_dmabuf(struct net_device *dev,
niov = &owner->area.niovs[i];
niov->type = NET_IOV_DMABUF;
niov->owner = &owner->area;
+ niov->desc.pp = NULL;
Don't you also need to = NULL the niov allocations in io_uring zcrx,
or is that already done? Maybe mention in commit message.
Other than that, looks correct,
Reviewed-by: Mina Almasry <redacted>