]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: add skb->data_len and (skb>end - skb->tail) to skb_dump()
authorEric Dumazet <edumazet@google.com>
Mon, 12 Jan 2026 17:26:21 +0000 (17:26 +0000)
committerJakub Kicinski <kuba@kernel.org>
Fri, 16 Jan 2026 03:49:47 +0000 (19:49 -0800)
While working on a syzbot report, I found that skb_dump()
is lacking two important parts :

- skb->data_len.

- (skb>end - skb->tail) tailroom is zero if skb is not linear.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Willem de Bruijn <willemb@google.com>
Link: https://patch.msgid.link/20260112172621.4188700-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/core/skbuff.c

index a56133902c0d9c47b45a4a19b228b151456e5051..61746c2b95f63e465c1f2cd05bf6a61bc5331d8f 100644 (file)
@@ -1312,14 +1312,15 @@ void skb_dump(const char *level, const struct sk_buff *skb, bool full_pkt)
        has_mac = skb_mac_header_was_set(skb);
        has_trans = skb_transport_header_was_set(skb);
 
-       printk("%sskb len=%u headroom=%u headlen=%u tailroom=%u\n"
-              "mac=(%d,%d) mac_len=%u net=(%d,%d) trans=%d\n"
+       printk("%sskb len=%u data_len=%u headroom=%u headlen=%u tailroom=%u\n"
+              "end-tail=%u mac=(%d,%d) mac_len=%u net=(%d,%d) trans=%d\n"
               "shinfo(txflags=%u nr_frags=%u gso(size=%hu type=%u segs=%hu))\n"
               "csum(0x%x start=%u offset=%u ip_summed=%u complete_sw=%u valid=%u level=%u)\n"
               "hash(0x%x sw=%u l4=%u) proto=0x%04x pkttype=%u iif=%d\n"
               "priority=0x%x mark=0x%x alloc_cpu=%u vlan_all=0x%x\n"
               "encapsulation=%d inner(proto=0x%04x, mac=%u, net=%u, trans=%u)\n",
-              level, skb->len, headroom, skb_headlen(skb), tailroom,
+              level, skb->len, skb->data_len, headroom, skb_headlen(skb),
+              tailroom, skb->end - skb->tail,
               has_mac ? skb->mac_header : -1,
               has_mac ? skb_mac_header_len(skb) : -1,
               skb->mac_len,