git: 73e3969fd435 - main - LinuxKPI: skbuff: remove _alloc_len field

From: Bjoern A. Zeeb <bz_at_FreeBSD.org>
Date: Tue, 22 Apr 2025 23:46:16 UTC
The branch main has been updated by bz:

URL: https://cgit.FreeBSD.org/src/commit/?id=73e3969fd435eea296b44f3bd40ff76c042c9a36

commit 73e3969fd435eea296b44f3bd40ff76c042c9a36
Author:     Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2025-04-22 20:24:03 +0000
Commit:     Bjoern A. Zeeb <bz@FreeBSD.org>
CommitDate: 2025-04-22 23:45:33 +0000

    LinuxKPI: skbuff: remove _alloc_len field
    
    Initially we saved the exact allocation length for contigfree(9).
    contigfree can now be replaced by free(9) so there is no need to
    remember that value anymore.  Removing it also simplifies the
    linuxkpi_kfree_skb() code.
    
    Sponsored by:   The FreeBSD Foundation
    MFC after:      3 days
---
 sys/compat/linuxkpi/common/include/linux/skbuff.h |  1 -
 sys/compat/linuxkpi/common/src/linux_80211.c      |  4 ++--
 sys/compat/linuxkpi/common/src/linux_skbuff.c     | 13 ++-----------
 3 files changed, 4 insertions(+), 14 deletions(-)

diff --git a/sys/compat/linuxkpi/common/include/linux/skbuff.h b/sys/compat/linuxkpi/common/include/linux/skbuff.h
index 9db29c72e20c..7a8521e6fd38 100644
--- a/sys/compat/linuxkpi/common/include/linux/skbuff.h
+++ b/sys/compat/linuxkpi/common/include/linux/skbuff.h
@@ -154,7 +154,6 @@ struct sk_buff {
 		};
 		struct list_head	list;
 	};
-	uint32_t		_alloc_len;	/* Length of alloc data-buf. XXX-BZ give up for truesize? */
 	uint32_t		len;		/* ? */
 	uint32_t		data_len;	/* ? If we have frags? */
 	uint32_t		truesize;	/* The total size of all buffers, incl. frags. */
diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c
index 47eb52677cdf..cbf1db5e17de 100644
--- a/sys/compat/linuxkpi/common/src/linux_80211.c
+++ b/sys/compat/linuxkpi/common/src/linux_80211.c
@@ -6545,9 +6545,9 @@ linuxkpi_ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb,
 		goto no_trace_beacons;
 
 	if (linuxkpi_debug_80211 & D80211_TRACE_RX)
-		printf("TRACE-RX: %s: skb %p a/l/d/t-len (%u/%u/%u/%u) "
+		printf("TRACE-RX: %s: skb %p l/d/t-len (%u/%u/%u) "
 		    "h %p d %p t %p e %p sh %p (%u) m %p plen %u len %u%s\n",
-		    __func__, skb, skb->_alloc_len, skb->len, skb->data_len,
+		    __func__, skb, skb->len, skb->data_len,
 		    skb->truesize, skb->head, skb->data, skb->tail, skb->end,
 		    shinfo, shinfo->nr_frags,
 		    m, m->m_pkthdr.len, m->m_len, is_beacon ? " beacon" : "");
diff --git a/sys/compat/linuxkpi/common/src/linux_skbuff.c b/sys/compat/linuxkpi/common/src/linux_skbuff.c
index 16a7083123be..4139295fc837 100644
--- a/sys/compat/linuxkpi/common/src/linux_skbuff.c
+++ b/sys/compat/linuxkpi/common/src/linux_skbuff.c
@@ -115,7 +115,6 @@ linuxkpi_alloc_skb(size_t size, gfp_t gfp)
 #endif
 	if (skb == NULL)
 		return (skb);
-	skb->_alloc_len = len;
 	skb->truesize = size;
 
 	skb->head = skb->data = skb->tail = (uint8_t *)(skb+1);
@@ -258,14 +257,7 @@ linuxkpi_kfree_skb(struct sk_buff *skb)
 		skb_free_frag(p);
 	}
 
-#ifdef __LP64__
-	if (__predict_true(linuxkpi_skb_memlimit == 0))
-		free(skb, M_LKPISKB);
-	else
-		contigfree(skb, skb->_alloc_len, M_LKPISKB);
-#else
 	free(skb, M_LKPISKB);
-#endif
 }
 
 #ifdef DDB
@@ -284,9 +276,8 @@ DB_SHOW_COMMAND(skb, db_show_skb)
 	db_printf("skb %p\n", skb);
 	db_printf("\tnext %p prev %p\n", skb->next, skb->prev);
 	db_printf("\tlist %p\n", &skb->list);
-	db_printf("\t_alloc_len %u len %u data_len %u truesize %u mac_len %u\n",
-	    skb->_alloc_len, skb->len, skb->data_len, skb->truesize,
-	    skb->mac_len);
+	db_printf("\tlen %u data_len %u truesize %u mac_len %u\n",
+	    skb->len, skb->data_len, skb->truesize, skb->mac_len);
 	db_printf("\tcsum %#06x l3hdroff %u l4hdroff %u priority %u qmap %u\n",
 	    skb->csum, skb->l3hdroff, skb->l4hdroff, skb->priority, skb->qmap);
 	db_printf("\tpkt_type %d dev %p sk %p\n",