================================================================== BUG: KASAN: use-after-free in is_multicast_ether_addr_64bits include/linux/etherdevice.h:136 [inline] BUG: KASAN: use-after-free in netif_receive_generic_xdp net/core/dev.c:4294 [inline] BUG: KASAN: use-after-free in do_xdp_generic+0x612/0x1500 net/core/dev.c:4392 Read of size 8 at addr ffff8880ab9f87ff by task syz-executor.5/20192 CPU: 1 PID: 20192 Comm: syz-executor.5 Not tainted 5.4.18-syzkaller-00147-g0dba8e724663 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x1b0/0x228 lib/dump_stack.c:118 print_address_description+0x96/0x5d0 mm/kasan/report.c:374 __kasan_report+0x14b/0x1c0 mm/kasan/report.c:506 kasan_report+0x26/0x50 mm/kasan/common.c:634 __asan_report_load8_noabort+0x14/0x20 mm/kasan/generic_report.c:132 is_multicast_ether_addr_64bits include/linux/etherdevice.h:136 [inline] netif_receive_generic_xdp net/core/dev.c:4294 [inline] do_xdp_generic+0x612/0x1500 net/core/dev.c:4392 tun_get_user+0x2498/0x3d10 drivers/net/tun.c:1935 tun_chr_write_iter+0x134/0x1c0 drivers/net/tun.c:2026 do_iter_readv_writev+0x5fa/0x890 include/linux/fs.h:1909 do_iter_write+0x180/0x590 fs/read_write.c:973 vfs_writev fs/read_write.c:1018 [inline] do_writev+0x2cd/0x560 fs/read_write.c:1061 __do_sys_writev fs/read_write.c:1134 [inline] __se_sys_writev fs/read_write.c:1131 [inline] __x64_sys_writev+0x7d/0x90 fs/read_write.c:1131 do_syscall_64+0xc0/0x100 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x44/0xa9 RIP: 0033:0x45b271 Code: 75 14 b8 14 00 00 00 0f 05 48 3d 01 f0 ff ff 0f 83 e4 b7 fb ff c3 48 83 ec 08 e8 fa 2c 00 00 48 89 04 24 b8 14 00 00 00 0f 05 <48> 8b 3c 24 48 89 c2 e8 43 2d 00 00 48 89 d0 48 83 c4 08 48 3d 01 RSP: 002b:00007f8db43fcba0 EFLAGS: 00000293 ORIG_RAX: 0000000000000014 RAX: ffffffffffffffda RBX: 000000002000015e RCX: 000000000045b271 RDX: 0000000000000001 RSI: 00007f8db43fcc00 RDI: 00000000000000f0 RBP: 000000000075bf20 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000293 R12: 00000000ffffffff R13: 0000000000000b7b R14: 00000000004cc5c8 R15: 000000000075bf2c The buggy address belongs to the page: page:ffffea0002ae7e00 refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 raw: 4000000000000000 ffffea0002ae7e08 ffffea0002ae7e08 0000000000000000 raw: 0000000000000000 0000000000000000 00000000ffffffff 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff8880ab9f8680: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ffff8880ab9f8700: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >ffff8880ab9f8780: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ^ ffff8880ab9f8800: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ffff8880ab9f8880: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ================================================================== ------------[ cut here ]------------ Illegal XDP return value 4294967274, expect packet loss! WARNING: CPU: 1 PID: 20192 at net/core/filter.c:6907 bpf_warn_invalid_xdp_action+0x5a/0x60 net/core/filter.c:6905 Modules linked in: CPU: 1 PID: 20192 Comm: syz-executor.5 Tainted: G B 5.4.18-syzkaller-00147-g0dba8e724663 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 RIP: 0010:bpf_warn_invalid_xdp_action+0x5a/0x60 net/core/filter.c:6905 Code: e8 eb 7b 5e fe 83 fb 04 48 c7 c0 4b 6e 56 84 48 c7 c6 53 6e 56 84 48 0f 47 f0 48 c7 c7 1e 6e 56 84 89 da 31 c0 e8 f6 54 35 fe <0f> 0b eb bc 66 90 55 48 89 e5 41 57 41 56 41 55 41 54 53 50 4c 89 RSP: 0018:ffff8881c38df668 EFLAGS: 00010246 RAX: ef8485e0d3d28500 RBX: 00000000ffffffea RCX: 0000000000040000 RDX: ffffc90000787000 RSI: 000000000003ffff RDI: 0000000000040000 RBP: ffff8881c38df670 R08: ffffffff812cf820 R09: ffffed103b763e92 R10: ffffed103b763e92 R11: 0000000000000000 R12: dffffc0000000000 R13: 00000000ffffffea R14: dffffc0000000000 R15: ffff88819b769dc0 FS: 00007f8db43fd700(0000) GS:ffff8881dbb00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000020000700 CR3: 00000001ab308005 CR4: 00000000001606e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: netif_receive_generic_xdp net/core/dev.c:4343 [inline] do_xdp_generic+0xd2d/0x1500 net/core/dev.c:4392 tun_get_user+0x2498/0x3d10 drivers/net/tun.c:1935 tun_chr_write_iter+0x134/0x1c0 drivers/net/tun.c:2026 do_iter_readv_writev+0x5fa/0x890 include/linux/fs.h:1909 do_iter_write+0x180/0x590 fs/read_write.c:973 vfs_writev fs/read_write.c:1018 [inline] do_writev+0x2cd/0x560 fs/read_write.c:1061 __do_sys_writev fs/read_write.c:1134 [inline] __se_sys_writev fs/read_write.c:1131 [inline] __x64_sys_writev+0x7d/0x90 fs/read_write.c:1131 do_syscall_64+0xc0/0x100 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x44/0xa9 RIP: 0033:0x45b271 Code: 75 14 b8 14 00 00 00 0f 05 48 3d 01 f0 ff ff 0f 83 e4 b7 fb ff c3 48 83 ec 08 e8 fa 2c 00 00 48 89 04 24 b8 14 00 00 00 0f 05 <48> 8b 3c 24 48 89 c2 e8 43 2d 00 00 48 89 d0 48 83 c4 08 48 3d 01 RSP: 002b:00007f8db43fcba0 EFLAGS: 00000293 ORIG_RAX: 0000000000000014 RAX: ffffffffffffffda RBX: 000000002000015e RCX: 000000000045b271 RDX: 0000000000000001 RSI: 00007f8db43fcc00 RDI: 00000000000000f0 RBP: 000000000075bf20 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000293 R12: 00000000ffffffff R13: 0000000000000b7b R14: 00000000004cc5c8 R15: 000000000075bf2c ---[ end trace 98a88d3aee9098f8 ]--- BUG: unable to handle page fault for address: ffffed1019b724ff #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 21fff7067 P4D 21fff7067 PUD 21fff6067 PMD 0 Oops: 0000 [#1] PREEMPT SMP KASAN CPU: 0 PID: 20192 Comm: syz-executor.5 Tainted: G B W 5.4.18-syzkaller-00147-g0dba8e724663 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 RIP: 0010:is_multicast_ether_addr_64bits include/linux/etherdevice.h:136 [inline] RIP: 0010:netif_receive_generic_xdp net/core/dev.c:4294 [inline] RIP: 0010:do_xdp_generic+0x603/0x1500 net/core/dev.c:4392 Code: 00 00 00 00 fc ff df 42 80 3c 30 00 74 05 e8 64 e4 95 fe 4c 89 a4 24 d8 00 00 00 4c 89 ac 24 18 01 00 00 4c 89 f8 48 c1 e8 03 <42> 80 3c 30 00 74 08 4c 89 ff e8 9e e3 95 fe 49 8b 37 83 e6 01 31 RSP: 0018:ffff8881c38df680 EFLAGS: 00010a07 RAX: 1ffff11019b724ff RBX: ffff8881c38df788 RCX: 1ffff1103871bef1 RDX: ffff8881cb840074 RSI: 00000000000000d1 RDI: ffff8881c38df798 RBP: ffff8881c38df830 R08: ffffffff82daf59b R09: ffffed1039b7055d R10: ffffed1039b7055d R11: 0000000000000000 R12: ffff8880cdb8291e R13: ffff8881cdb82800 R14: dffffc0000000000 R15: ffff8880cdb927ff FS: 00007f8db43fd700(0000) GS:ffff8881dba00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffed1019b724ff CR3: 00000001ab308004 CR4: 00000000001606f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: tun_get_user+0x2498/0x3d10 drivers/net/tun.c:1935 tun_chr_write_iter+0x134/0x1c0 drivers/net/tun.c:2026 do_iter_readv_writev+0x5fa/0x890 include/linux/fs.h:1909 do_iter_write+0x180/0x590 fs/read_write.c:973 vfs_writev fs/read_write.c:1018 [inline] do_writev+0x2cd/0x560 fs/read_write.c:1061 __do_sys_writev fs/read_write.c:1134 [inline] __se_sys_writev fs/read_write.c:1131 [inline] __x64_sys_writev+0x7d/0x90 fs/read_write.c:1131 do_syscall_64+0xc0/0x100 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x44/0xa9 RIP: 0033:0x45b271 Code: 75 14 b8 14 00 00 00 0f 05 48 3d 01 f0 ff ff 0f 83 e4 b7 fb ff c3 48 83 ec 08 e8 fa 2c 00 00 48 89 04 24 b8 14 00 00 00 0f 05 <48> 8b 3c 24 48 89 c2 e8 43 2d 00 00 48 89 d0 48 83 c4 08 48 3d 01 RSP: 002b:00007f8db43fcba0 EFLAGS: 00000293 ORIG_RAX: 0000000000000014 RAX: ffffffffffffffda RBX: 000000002000015e RCX: 000000000045b271 RDX: 0000000000000001 RSI: 00007f8db43fcc00 RDI: 00000000000000f0 RBP: 000000000075bf20 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000293 R12: 00000000ffffffff R13: 0000000000000b7b R14: 00000000004cc5c8 R15: 000000000075bf2c Modules linked in: CR2: ffffed1019b724ff ---[ end trace 98a88d3aee9098f9 ]--- RIP: 0010:is_multicast_ether_addr_64bits include/linux/etherdevice.h:136 [inline] RIP: 0010:netif_receive_generic_xdp net/core/dev.c:4294 [inline] RIP: 0010:do_xdp_generic+0x603/0x1500 net/core/dev.c:4392 Code: 00 00 00 00 fc ff df 42 80 3c 30 00 74 05 e8 64 e4 95 fe 4c 89 a4 24 d8 00 00 00 4c 89 ac 24 18 01 00 00 4c 89 f8 48 c1 e8 03 <42> 80 3c 30 00 74 08 4c 89 ff e8 9e e3 95 fe 49 8b 37 83 e6 01 31 RSP: 0018:ffff8881c38df680 EFLAGS: 00010a07 RAX: 1ffff11019b724ff RBX: ffff8881c38df788 RCX: 1ffff1103871bef1 RDX: ffff8881cb840074 RSI: 00000000000000d1 RDI: ffff8881c38df798 RBP: ffff8881c38df830 R08: ffffffff82daf59b R09: ffffed1039b7055d R10: ffffed1039b7055d R11: 0000000000000000 R12: ffff8880cdb8291e R13: ffff8881cdb82800 R14: dffffc0000000000 R15: ffff8880cdb927ff FS: 00007f8db43fd700(0000) GS:ffff8881dba00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffed1019b724ff CR3: 00000001ab308004 CR4: 00000000001606f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400