Eric Dumazet
301bd140ed
erspan: do not assume transport header is always set
Rewrite tests in ip6erspan_tunnel_xmit() and
erspan_fb_xmit() to not assume transport header is set.
syzbot reported:
WARNING: CPU: 0 PID: 1350 at include/linux/skbuff.h:2911 skb_transport_header include/linux/skbuff.h:2911 [inline]
WARNING: CPU: 0 PID: 1350 at include/linux/skbuff.h:2911 ip6erspan_tunnel_xmit+0x15af/0x2eb0 net/ipv6/ip6_gre.c:963
Modules linked in:
CPU: 0 PID: 1350 Comm: aoe_tx0 Not tainted 5.19.0-rc2-syzkaller-00160-g274295c6e53f #0
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.14.0-2 04/01/2014
RIP: 0010:skb_transport_header include/linux/skbuff.h:2911 [inline]
RIP: 0010:ip6erspan_tunnel_xmit+0x15af/0x2eb0 net/ipv6/ip6_gre.c:963
Code: 0f 47 f0 40 88 b5 7f fe ff ff e8 8c 16 4b f9 89 de bf ff ff ff ff e8 a0 12 4b f9 66 83 fb ff 0f 85 1d f1 ff ff e8 71 16 4b f9 <0f> 0b e9 43 f0 ff ff e8 65 16 4b f9 48 8d 85 30 ff ff ff ba 60 00
RSP: 0018:ffffc90005daf910 EFLAGS: 00010293
RAX: 0000000000000000 RBX: 000000000000ffff RCX: 0000000000000000
RDX: ffff88801f032100 RSI: ffffffff882e8d3f RDI: 0000000000000003
RBP: ffffc90005dafab8 R08: 0000000000000003 R09: 000000000000ffff
R10: 000000000000ffff R11: 0000000000000000 R12: ffff888024f21d40
R13: 000000000000a288 R14: 00000000000000b0 R15: ffff888025a2e000
FS: 0000000000000000(0000) GS:ffff88802c800000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000001b2e425000 CR3: 000000006d099000 CR4: 0000000000152ef0
Call Trace:
<TASK>
__netdev_start_xmit include/linux/netdevice.h:4805 [inline]
netdev_start_xmit include/linux/netdevice.h:4819 [inline]
xmit_one net/core/dev.c:3588 [inline]
dev_hard_start_xmit+0x188/0x880 net/core/dev.c:3604
sch_direct_xmit+0x19f/0xbe0 net/sched/sch_generic.c:342
__dev_xmit_skb net/core/dev.c:3815 [inline]
__dev_queue_xmit+0x14a1/0x3900 net/core/dev.c:4219
dev_queue_xmit include/linux/netdevice.h:2994 [inline]
tx+0x6a/0xc0 drivers/block/aoe/aoenet.c:63
kthread+0x1e7/0x3b0 drivers/block/aoe/aoecmd.c:1229
kthread+0x2e9/0x3a0 kernel/kthread.c:376
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:302
</TASK>
Fixes: d5db21a3e6 ("erspan: auto detect truncated ipv6 packets.")
Reported-by: syzbot <syzkaller@googlegroups.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: William Tu <u9012063@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-06-20 10:00:55 +01:00
..
2022-05-16 10:10:37 +01:00
2022-04-22 13:06:03 +01:00
2021-06-30 15:51:09 -07:00
2022-04-25 11:50:18 +01:00
2022-01-27 12:03:46 -08:00
2021-09-19 12:43:56 +01:00
2022-04-22 13:06:03 +01:00
2022-05-25 12:22:58 -07:00
2022-03-07 13:14:04 +01:00
2022-05-06 08:24:20 +02:00
2022-04-30 15:12:58 +01:00
2022-02-17 11:44:20 -08:00
2021-09-28 17:32:56 -07:00
2022-04-30 15:12:58 +01:00
2022-04-11 17:37:50 -07:00
2022-04-30 15:12:58 +01:00
2022-04-12 14:56:33 -07:00
2021-05-17 15:29:35 -07:00
2021-11-24 17:21:42 -08:00
2022-04-30 15:12:58 +01:00
2022-05-05 13:03:18 -07:00
2022-06-16 11:07:59 -07:00
2022-05-12 16:52:18 -07:00
2022-04-30 15:12:58 +01:00
2022-06-16 11:07:59 -07:00
2022-05-13 12:24:12 +01:00
2021-03-01 13:32:12 -08:00
2022-04-13 13:09:57 +01:00
2022-03-03 14:38:48 +00:00
2022-06-20 10:00:55 +01:00
2022-04-07 20:32:49 -07:00
2022-01-29 17:53:07 +00:00
2022-03-03 14:38:48 +00:00
2021-11-20 14:11:00 +00:00
2021-01-08 19:25:35 -08:00
2022-04-15 14:27:30 -07:00
2021-10-13 09:41:37 -07:00
2021-06-30 15:51:09 -07:00
2021-10-28 14:36:41 +01:00
2021-10-13 09:41:37 -07:00
2022-04-30 15:12:58 +01:00
2022-04-12 14:56:33 -07:00
2021-02-26 12:28:03 -08:00
2020-11-16 08:08:54 -08:00
2022-05-16 13:03:29 +02:00
2022-02-08 20:41:33 -08:00
2022-06-17 11:41:34 +01:00
2022-01-26 19:00:31 -08:00
2021-05-17 15:29:35 -07:00
2021-07-13 09:28:29 -07:00
2022-04-28 13:08:15 -07:00
2022-05-19 11:23:59 -07:00
2022-04-25 12:10:11 +01:00
2022-05-03 10:15:06 +02:00
2022-05-16 10:18:55 +01:00
2022-04-06 12:05:41 -07:00
2022-04-12 15:00:25 +02:00
2022-04-06 12:05:41 -07:00
2022-04-07 20:33:15 -07:00
2022-05-16 10:18:56 +01:00
2022-04-06 12:05:41 -07:00
2021-09-20 13:09:06 +01:00
2022-04-06 12:05:41 -07:00
2022-04-06 12:05:41 -07:00
2022-04-06 12:05:41 -07:00
2022-04-06 12:05:41 -07:00
2022-05-28 12:42:08 +01:00
2022-05-30 21:21:12 -07:00
2022-04-06 12:05:41 -07:00
2022-04-06 12:05:41 -07:00
2022-04-22 15:05:59 -07:00
2022-04-06 12:05:41 -07:00
2021-11-16 13:16:54 +00:00
2022-05-31 21:40:10 -07:00
2022-04-28 13:02:01 -07:00
2022-04-30 13:56:46 +01:00
2022-04-06 12:05:41 -07:00
2021-06-29 11:28:21 -07:00
2022-04-06 12:05:41 -07:00
2022-04-06 12:05:41 -07:00
2022-04-06 12:05:41 -07:00
2022-04-06 12:05:41 -07:00
2022-06-16 11:07:59 -07:00
2021-05-17 15:29:35 -07:00
2022-04-12 15:00:25 +02:00
2021-07-13 09:28:29 -07:00
2022-04-12 15:00:25 +02:00
2021-11-24 17:21:42 -08:00
2021-09-21 10:17:20 +01:00
2022-02-23 12:35:00 +00:00
2022-05-16 10:31:06 +01:00
2021-05-17 15:29:35 -07:00
2022-03-15 20:20:02 -07:00
2022-06-08 10:10:13 -07:00
2021-09-23 10:10:00 +02:00