[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250707085201.1898818-1-c-vankar@ti.com>
Date: Mon, 7 Jul 2025 14:22:01 +0530
From: Chintan Vankar <c-vankar@...com>
To: <andrew+netdev@...n.ch>, <davem@...emloft.net>, <edumazet@...gle.com>,
<kuba@...nel.org>, <pabeni@...hat.com>, <rogerq@...nel.org>,
<horms@...nel.org>, <mwalle@...nel.org>, <jacob.e.keller@...el.com>,
<jpanis@...libre.com>, <c-vankar@...com>
CC: <s-vadapalli@...com>, <danishanwar@...com>, <netdev@...r.kernel.org>,
<linux-kernel@...r.kernel.org>
Subject: [PATCH net v3] net: ethernet: ti: am65-cpsw-nuss: Fix skb size by accounting for skb_shared_info
While transitioning from netdev_alloc_ip_align() to build_skb(), memory
for the "skb_shared_info" member of an "skb" was not allocated. Fix this
by allocating "PAGE_SIZE" as the skb length, accounting for the packet
length, headroom and tailroom, thereby including the required memory space
for skb_shared_info.
Fixes: 8acacc40f733 ("net: ethernet: ti: am65-cpsw: Add minimal XDP support")
Reviewed-by: Siddharth Vadapalli <s-vadapalli@...com>
Signed-off-by: Chintan Vankar <c-vankar@...com>
---
This patch is based on the commit 'af80679632063' of origin/main branch of
Linux-net repository.
Link to v2:
https://lore.kernel.org/r/20250626051226.2418638-1-c-vankar@ti.com/
Changes from v2 to v3:
- Updated skb length with the PAGE_SIZE as suggested by Jakub Kicinski.
drivers/net/ethernet/ti/am65-cpsw-nuss.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/ti/am65-cpsw-nuss.c b/drivers/net/ethernet/ti/am65-cpsw-nuss.c
index f20d1ff192ef..231ca141331f 100644
--- a/drivers/net/ethernet/ti/am65-cpsw-nuss.c
+++ b/drivers/net/ethernet/ti/am65-cpsw-nuss.c
@@ -856,8 +856,6 @@ static struct sk_buff *am65_cpsw_build_skb(void *page_addr,
{
struct sk_buff *skb;
- len += AM65_CPSW_HEADROOM;
-
skb = build_skb(page_addr, len);
if (unlikely(!skb))
return NULL;
@@ -1344,7 +1342,7 @@ static int am65_cpsw_nuss_rx_packets(struct am65_cpsw_rx_flow *flow,
}
skb = am65_cpsw_build_skb(page_addr, ndev,
- AM65_CPSW_MAX_PACKET_SIZE, headroom);
+ PAGE_SIZE, headroom);
if (unlikely(!skb)) {
new_page = page;
goto requeue;
--
2.34.1
Powered by blists - more mailing lists