device lo left promiscuous mode ================================================================== BUG: KASAN: use-after-free in __read_once_size include/linux/compiler.h:183 [inline] BUG: KASAN: use-after-free in dev_queue_xmit_nit+0x7d2/0x970 net/core/dev.c:1929 Read of size 8 at addr ffff8881c900d468 by task syz-executor.2/11585 CPU: 0 PID: 11585 Comm: syz-executor.2 Not tainted 4.14.153+ #0 Call Trace: __dump_stack lib/dump_stack.c:17 [inline] dump_stack+0xca/0x134 lib/dump_stack.c:53 print_address_description+0x60/0x226 mm/kasan/report.c:187 __kasan_report.cold+0x1a/0x41 mm/kasan/report.c:316 __read_once_size include/linux/compiler.h:183 [inline] dev_queue_xmit_nit+0x7d2/0x970 net/core/dev.c:1929 xmit_one net/core/dev.c:3005 [inline] dev_hard_start_xmit+0xa3/0x8c0 net/core/dev.c:3025 __dev_queue_xmit+0x11e0/0x1d00 net/core/dev.c:3525 neigh_output include/net/neighbour.h:500 [inline] ip6_finish_output2+0x1018/0x1fa0 net/ipv6/ip6_output.c:120 ip6_finish_output+0x64b/0xb40 net/ipv6/ip6_output.c:154 NF_HOOK_COND include/linux/netfilter.h:239 [inline] ip6_output+0x1dc/0x680 net/ipv6/ip6_output.c:171 dst_output include/net/dst.h:462 [inline] NF_HOOK include/linux/netfilter.h:250 [inline] ndisc_send_skb+0xeb8/0x1400 net/ipv6/ndisc.c:484 ndisc_send_rs+0x123/0x660 net/ipv6/ndisc.c:678 addrconf_rs_timer+0x290/0x5c0 net/ipv6/addrconf.c:3784 call_timer_fn+0x15b/0x6a0 kernel/time/timer.c:1279 expire_timers+0x227/0x4c0 kernel/time/timer.c:1318 __run_timers kernel/time/timer.c:1636 [inline] run_timer_softirq+0x1eb/0x5d0 kernel/time/timer.c:1649 __do_softirq+0x234/0x9ec kernel/softirq.c:288 invoke_softirq kernel/softirq.c:368 [inline] irq_exit+0x114/0x150 kernel/softirq.c:409 exiting_irq arch/x86/include/asm/apic.h:648 [inline] smp_apic_timer_interrupt+0x1a7/0x650 arch/x86/kernel/apic/apic.c:1102 apic_timer_interrupt+0x8c/0xa0 arch/x86/entry/entry_64.S:792 RIP: 0010:arch_local_irq_restore arch/x86/include/asm/paravirt.h:779 [inline] RIP: 0010:__raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:160 [inline] RIP: 0010:_raw_spin_unlock_irqrestore+0x59/0x70 kernel/locking/spinlock.c:192 RSP: 0018:ffff88819df36b00 EFLAGS: 00000296 ORIG_RAX: ffffffffffffff10 RAX: 0000000000000007 RBX: 0000000000000296 RCX: 1ffff1103b4593ff RDX: 0000000000000000 RSI: ffff8881da2ca000 RDI: 0000000000000296 RBP: ffffffffb60d7140 R08: 0000000000000001 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000 R13: ffff8881da2c9b20 R14: ffff8881a2e39b10 R15: ffffffffb60d71e8 rcu_read_unlock_special+0x6ed/0xab0 kernel/rcu/tree_plugin.h:528 __rcu_read_unlock+0x158/0x160 kernel/rcu/update.c:260 rcu_read_unlock include/linux/rcupdate.h:684 [inline] __is_insn_slot_addr+0x113/0x1e0 kernel/kprobes.c:301 is_kprobe_insn_slot include/linux/kprobes.h:318 [inline] kernel_text_address+0xfe/0x120 kernel/extable.c:148 __kernel_text_address+0x9/0x30 kernel/extable.c:105 unwind_get_return_address arch/x86/kernel/unwind_orc.c:255 [inline] unwind_get_return_address+0x51/0x90 arch/x86/kernel/unwind_orc.c:250 __save_stack_trace+0x8a/0xf0 arch/x86/kernel/stacktrace.c:45 save_stack mm/kasan/common.c:76 [inline] set_track mm/kasan/common.c:85 [inline] __kasan_kmalloc.part.0+0x53/0xc0 mm/kasan/common.c:501 slab_post_alloc_hook mm/slab.h:439 [inline] slab_alloc_node mm/slub.c:2792 [inline] slab_alloc mm/slub.c:2800 [inline] __kmalloc_track_caller+0x10d/0x390 mm/slub.c:4367 __kmalloc_reserve.isra.0+0x2d/0xc0 net/core/skbuff.c:137 __alloc_skb+0x118/0x5c0 net/core/skbuff.c:205 alloc_skb include/linux/skbuff.h:980 [inline] kobject_uevent_env+0x6d7/0xc60 lib/kobject_uevent.c:479 rx_queue_add_kobject net/core/net-sysfs.c:930 [inline] net_rx_queue_update_kobjects+0x10e/0x400 net/core/net-sysfs.c:948 register_queue_kobjects net/core/net-sysfs.c:1392 [inline] netdev_register_kobject+0x20f/0x31c net/core/net-sysfs.c:1603 register_netdevice+0x83d/0xc90 net/core/dev.c:7668 ip_tunnel_newlink+0x368/0x830 net/ipv4/ip_tunnel.c:1107 vti_newlink+0xae/0xf0 net/ipv4/ip_vti.c:555 rtnl_newlink+0xed3/0x16b0 net/core/rtnetlink.c:2698 rtnetlink_rcv_msg+0x3d3/0xb40 net/core/rtnetlink.c:4285 netlink_rcv_skb+0x137/0x3a0 net/netlink/af_netlink.c:2432 netlink_unicast_kernel net/netlink/af_netlink.c:1286 [inline] netlink_unicast+0x478/0x650 net/netlink/af_netlink.c:1312 netlink_sendmsg+0x66a/0xbe0 net/netlink/af_netlink.c:1877 sock_sendmsg_nosec net/socket.c:646 [inline] sock_sendmsg+0xb7/0x100 net/socket.c:656 ___sys_sendmsg+0x752/0x890 net/socket.c:2062 __sys_sendmsg+0xb6/0x150 net/socket.c:2096 SYSC_sendmsg net/socket.c:2107 [inline] SyS_sendmsg+0x27/0x40 net/socket.c:2103 do_syscall_64+0x19b/0x520 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x42/0xb7 RIP: 0033:0x45a219 RSP: 002b:00007f1de8041c78 EFLAGS: 00000246 ORIG_RAX: 000000000000002e RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 000000000045a219 RDX: 0000000000000000 RSI: 0000000020000040 RDI: 0000000000000006 RBP: 000000000075bf20 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007f1de80426d4 R13: 00000000004c875f R14: 00000000004ded58 R15: 00000000ffffffff Allocated by task 11573: save_stack mm/kasan/common.c:76 [inline] set_track mm/kasan/common.c:85 [inline] __kasan_kmalloc.part.0+0x53/0xc0 mm/kasan/common.c:501 kmalloc include/linux/slab.h:493 [inline] sk_prot_alloc+0x20e/0x2d0 net/core/sock.c:1467 sk_alloc+0x36/0x620 net/core/sock.c:1521 packet_create+0xf5/0x7e0 net/packet/af_packet.c:3264 __sock_create+0x2f7/0x620 net/socket.c:1275 sock_create net/socket.c:1315 [inline] SYSC_socket net/socket.c:1345 [inline] SyS_socket+0xe1/0x1e0 net/socket.c:1325 do_syscall_64+0x19b/0x520 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x42/0xb7 0xffffffffffffffff Freed by task 11568: save_stack mm/kasan/common.c:76 [inline] set_track mm/kasan/common.c:85 [inline] __kasan_slab_free+0x164/0x210 mm/kasan/common.c:463 slab_free_hook mm/slub.c:1407 [inline] slab_free_freelist_hook mm/slub.c:1458 [inline] slab_free mm/slub.c:3039 [inline] kfree+0x108/0x3a0 mm/slub.c:3976 sk_prot_free net/core/sock.c:1504 [inline] __sk_destruct+0x40c/0x5a0 net/core/sock.c:1581 sk_destruct+0x97/0xc0 net/core/sock.c:1596 __sk_free+0x4c/0x220 net/core/sock.c:1604 sk_free+0x2c/0x40 net/core/sock.c:1615 sock_put include/net/sock.h:1653 [inline] packet_release+0x8da/0xb80 net/packet/af_packet.c:3093 __sock_release+0xd2/0x2c0 net/socket.c:602 sock_close+0x15/0x20 net/socket.c:1139 __fput+0x25e/0x710 fs/file_table.c:210 task_work_run+0x125/0x1a0 kernel/task_work.c:113 tracehook_notify_resume include/linux/tracehook.h:191 [inline] exit_to_usermode_loop+0x13b/0x160 arch/x86/entry/common.c:164 prepare_exit_to_usermode arch/x86/entry/common.c:199 [inline] syscall_return_slowpath arch/x86/entry/common.c:270 [inline] do_syscall_64+0x3a3/0x520 arch/x86/entry/common.c:297 entry_SYSCALL_64_after_hwframe+0x42/0xb7 0xffffffffffffffff The buggy address belongs to the object at ffff8881c900cc80 which belongs to the cache kmalloc-2048 of size 2048 The buggy address is located 2024 bytes inside of 2048-byte region [ffff8881c900cc80, ffff8881c900d480) The buggy address belongs to the page: page:ffffea0007240200 count:1 mapcount:0 mapping: (null) index:0x0 compound_mapcount: 0 flags: 0x4000000000010200(slab|head) raw: 4000000000010200 0000000000000000 0000000000000000 00000001000f000f raw: 0000000000000000 0000000100000001 ffff8881da802800 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff8881c900d300: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8881c900d380: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb >ffff8881c900d400: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff8881c900d480: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff8881c900d500: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ==================================================================