Eric Dumazet
62289ebb25
net: hsr: fix fill_frame_info() regression vs VLAN packets
[ Upstream commit 0f5697f1a3 ]
Stephan Wurm reported that my recent patch broke VLAN support.
Apparently skb->mac_len is not correct for VLAN traffic as
shown by debug traces [1].
Use instead pskb_may_pull() to make sure the expected header
is present in skb->head.
Many thanks to Stephan for his help.
[1]
kernel: skb len=170 headroom=2 headlen=170 tailroom=20
mac=(2,14) mac_len=14 net=(16,-1) trans=-1
shinfo(txflags=0 nr_frags=0 gso(size=0 type=0 segs=0))
csum(0x0 start=0 offset=0 ip_summed=0 complete_sw=0 valid=0 level=0)
hash(0x0 sw=0 l4=0) proto=0x0000 pkttype=0 iif=0
priority=0x0 mark=0x0 alloc_cpu=0 vlan_all=0x0
encapsulation=0 inner(proto=0x0000, mac=0, net=0, trans=0)
kernel: dev name=prp0 feat=0x0000000000007000
kernel: sk family=17 type=3 proto=0
kernel: skb headroom: 00000000: 74 00
kernel: skb linear: 00000000: 01 0c cd 01 00 01 00 d0 93 53 9c cb 81 00 80 00
kernel: skb linear: 00000010: 88 b8 00 01 00 98 00 00 00 00 61 81 8d 80 16 52
kernel: skb linear: 00000020: 45 47 44 4e 43 54 52 4c 2f 4c 4c 4e 30 24 47 4f
kernel: skb linear: 00000030: 24 47 6f 43 62 81 01 14 82 16 52 45 47 44 4e 43
kernel: skb linear: 00000040: 54 52 4c 2f 4c 4c 4e 30 24 44 73 47 6f 6f 73 65
kernel: skb linear: 00000050: 83 07 47 6f 49 64 65 6e 74 84 08 67 8d f5 93 7e
kernel: skb linear: 00000060: 76 c8 00 85 01 01 86 01 00 87 01 00 88 01 01 89
kernel: skb linear: 00000070: 01 00 8a 01 02 ab 33 a2 15 83 01 00 84 03 03 00
kernel: skb linear: 00000080: 00 91 08 67 8d f5 92 77 4b c6 1f 83 01 00 a2 1a
kernel: skb linear: 00000090: a2 06 85 01 00 83 01 00 84 03 03 00 00 91 08 67
kernel: skb linear: 000000a0: 8d f5 92 77 4b c6 1f 83 01 00
kernel: skb tailroom: 00000000: 80 18 02 00 fe 4e 00 00 01 01 08 0a 4f fd 5e d1
kernel: skb tailroom: 00000010: 4f fd 5e cd
Fixes: b9653d19e5 ("net: hsr: avoid potential out-of-bound access in fill_frame_info()")
Reported-by: Stephan Wurm <stephan.wurm@a-eberle.de>
Tested-by: Stephan Wurm <stephan.wurm@a-eberle.de>
Closes: https://lore.kernel.org/netdev/Z4o_UC0HweBHJ_cw@PC-LX-SteWu/
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20250129130007.644084-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-02-08 09:52:32 +01:00
..
2024-12-09 10:32:57 +01:00
2025-01-17 13:36:11 +01:00
2025-02-08 09:51:55 +01:00
2024-12-19 18:11:27 +01:00
2025-01-17 13:36:14 +01:00
2024-11-08 16:28:19 +01:00
2024-10-17 15:24:29 +02:00
2024-12-14 20:00:04 +01:00
2025-01-02 10:32:00 +01:00
2025-02-08 09:52:31 +01:00
2025-01-23 17:21:19 +01:00
2024-10-10 11:58:07 +02:00
2025-02-08 09:52:03 +01:00
2025-02-08 09:52:32 +01:00
2024-12-14 20:00:04 +01:00
2025-02-08 09:52:31 +01:00
2025-02-08 09:52:02 +01:00
2024-12-09 10:32:33 +01:00
2024-12-14 19:59:35 +01:00
2025-01-09 13:32:01 +01:00
2025-02-08 09:51:58 +01:00
2025-01-23 17:21:13 +01:00
2025-01-09 13:31:54 +01:00
2024-12-14 19:59:35 +01:00
2025-01-23 17:21:15 +01:00
2025-02-08 09:52:03 +01:00
2024-12-09 10:32:09 +01:00
2025-01-09 13:32:00 +01:00
2025-01-23 17:21:09 +01:00
2025-01-09 13:32:02 +01:00
2024-10-17 15:24:30 +02:00
2024-10-04 16:29:41 +02:00
2024-12-09 10:32:11 +01:00
2025-02-08 09:52:30 +01:00
2025-02-08 09:51:50 +01:00
2025-02-08 09:52:03 +01:00
2025-01-17 13:36:18 +01:00
2025-02-08 09:51:58 +01:00
2024-12-09 10:33:00 +01:00
2024-12-19 18:11:27 +01:00
2025-01-17 13:36:13 +01:00
2024-12-19 18:11:21 +01:00
2025-02-08 09:52:31 +01:00
2025-02-08 09:52:01 +01:00
2024-12-14 19:59:57 +01:00
2025-02-08 09:52:28 +01:00
2024-10-17 15:24:35 +02:00