================================================================== BUG: KASAN: use-after-free in __read_once_size include/linux/compiler.h:199 [inline] BUG: KASAN: use-after-free in list_empty include/linux/list.h:268 [inline] BUG: KASAN: use-after-free in waitqueue_active include/linux/wait.h:126 [inline] BUG: KASAN: use-after-free in wq_has_sleeper include/linux/wait.h:160 [inline] BUG: KASAN: use-after-free in skwq_has_sleeper include/net/sock.h:2088 [inline] BUG: KASAN: use-after-free in sock_def_write_space+0x651/0x680 net/core/sock.c:2794 Read of size 8 at addr ffff88809a611af8 by task syz-executor.0/24266 CPU: 0 PID: 24266 Comm: syz-executor.0 Not tainted 5.3.0-rc2+ #88 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+0x172/0x1f0 lib/dump_stack.c:113 print_address_description.cold+0xd4/0x306 mm/kasan/report.c:351 __kasan_report.cold+0x1b/0x36 mm/kasan/report.c:482 kasan_report+0x12/0x17 mm/kasan/common.c:612 __asan_report_load8_noabort+0x14/0x20 mm/kasan/generic_report.c:132 __read_once_size include/linux/compiler.h:199 [inline] list_empty include/linux/list.h:268 [inline] waitqueue_active include/linux/wait.h:126 [inline] wq_has_sleeper include/linux/wait.h:160 [inline] skwq_has_sleeper include/net/sock.h:2088 [inline] sock_def_write_space+0x651/0x680 net/core/sock.c:2794 sock_wfree+0x154/0x190 net/core/sock.c:1950 skb_release_head_state+0xeb/0x250 net/core/skbuff.c:652 skb_release_all+0x16/0x60 net/core/skbuff.c:663 _kfree_skb_defer net/core/skbuff.c:873 [inline] napi_consume_skb+0x19d/0x580 net/core/skbuff.c:918 free_old_xmit_skbs+0xee/0x250 drivers/net/virtio_net.c:1366 virtnet_poll_tx+0x214/0x3a0 drivers/net/virtio_net.c:1493 napi_poll net/core/dev.c:6347 [inline] net_rx_action+0x4d6/0x1030 net/core/dev.c:6413 __do_softirq+0x262/0x98c kernel/softirq.c:292 invoke_softirq kernel/softirq.c:373 [inline] irq_exit+0x19b/0x1e0 kernel/softirq.c:413 exiting_irq arch/x86/include/asm/apic.h:537 [inline] do_IRQ+0x12c/0x200 arch/x86/kernel/irq.c:259 common_interrupt+0xf/0xf arch/x86/entry/entry_64.S:605 RIP: 0010:arch_local_irq_restore arch/x86/include/asm/paravirt.h:768 [inline] RIP: 0010:kmem_cache_free+0xab/0x320 mm/slab.c:3694 Code: e8 1a 27 00 00 84 c0 74 77 41 f7 c6 00 02 00 00 74 4f e8 f8 ac cb ff 48 83 3d c0 83 26 07 00 0f 84 fa 01 00 00 4c 89 f7 57 9d <0f> 1f 44 00 00 4c 8b 6d 08 0f 1f 44 00 00 65 8b 05 e0 24 55 7e 83 RSP: 0018:ffff888094f378f0 EFLAGS: 00000286 ORIG_RAX: ffffffffffffffd6 RAX: 0000000000000007 RBX: ffff88808bd56cb0 RCX: 1ffffffff134b446 RDX: 0000000000000000 RSI: ffffffff81781b9e RDI: 0000000000000286 RBP: ffff888094f37910 R08: ffff8880a5ff86c0 R09: fffffbfff134ae08 R10: fffffbfff134ae07 R11: ffffffff89a5703f R12: ffff88809fbb9c40 R13: ffffffff81a2442a R14: 0000000000000286 R15: ffff8880a51985b0 anon_vma_chain_free mm/rmap.c:134 [inline] unlink_anon_vmas+0x2ba/0x860 mm/rmap.c:401 free_pgtables+0x1af/0x2f0 mm/memory.c:395 exit_mmap+0x2c9/0x530 mm/mmap.c:3146 __mmput kernel/fork.c:1064 [inline] mmput+0x179/0x4d0 kernel/fork.c:1085 exit_mm kernel/exit.c:547 [inline] do_exit+0x84e/0x2e50 kernel/exit.c:866 do_group_exit+0x135/0x360 kernel/exit.c:983 get_signal+0x47c/0x2500 kernel/signal.c:2729 do_signal+0x87/0x1700 arch/x86/kernel/signal.c:815 exit_to_usermode_loop+0x286/0x380 arch/x86/entry/common.c:159 prepare_exit_to_usermode arch/x86/entry/common.c:194 [inline] syscall_return_slowpath arch/x86/entry/common.c:274 [inline] do_syscall_64+0x5a9/0x6a0 arch/x86/entry/common.c:299 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x459829 Code: Bad RIP value. RSP: 002b:00007fc7b59d9c78 EFLAGS: 00000246 ORIG_RAX: 0000000000000133 RAX: 0000000000000150 RBX: 0000000000000004 RCX: 0000000000459829 RDX: 0400000000000150 RSI: 00000000200001c0 RDI: 0000000000000004 RBP: 000000000075bf20 R08: 0000000000000000 R09: 0000000000000000 R10: 000000000e000000 R11: 0000000000000246 R12: 00007fc7b59da6d4 R13: 00000000004c7000 R14: 00000000004dc570 R15: 00000000ffffffff Allocated by task 24267: save_stack+0x23/0x90 mm/kasan/common.c:69 set_track mm/kasan/common.c:77 [inline] __kasan_kmalloc mm/kasan/common.c:487 [inline] __kasan_kmalloc.constprop.0+0xcf/0xe0 mm/kasan/common.c:460 kasan_slab_alloc+0xf/0x20 mm/kasan/common.c:495 slab_post_alloc_hook mm/slab.h:520 [inline] slab_alloc mm/slab.c:3319 [inline] kmem_cache_alloc+0x121/0x710 mm/slab.c:3483 sock_alloc_inode+0x1c/0x1d0 net/socket.c:239 alloc_inode+0x68/0x1e0 fs/inode.c:227 new_inode_pseudo+0x19/0xf0 fs/inode.c:916 sock_alloc+0x41/0x270 net/socket.c:558 __sock_create+0xc2/0x730 net/socket.c:1382 sock_create net/socket.c:1469 [inline] __sys_socket+0x103/0x220 net/socket.c:1511 __do_sys_socket net/socket.c:1520 [inline] __se_sys_socket net/socket.c:1518 [inline] __x64_sys_socket+0x73/0xb0 net/socket.c:1518 do_syscall_64+0xfd/0x6a0 arch/x86/entry/common.c:296 entry_SYSCALL_64_after_hwframe+0x49/0xbe Freed by task 9: save_stack+0x23/0x90 mm/kasan/common.c:69 set_track mm/kasan/common.c:77 [inline] __kasan_slab_free+0x102/0x150 mm/kasan/common.c:449 kasan_slab_free+0xe/0x10 mm/kasan/common.c:457 __cache_free mm/slab.c:3425 [inline] kmem_cache_free+0x86/0x320 mm/slab.c:3693 sock_free_inode+0x20/0x30 net/socket.c:260 i_callback+0x44/0x80 fs/inode.c:216 __rcu_reclaim kernel/rcu/rcu.h:222 [inline] rcu_do_batch kernel/rcu/tree.c:2114 [inline] rcu_core+0x67f/0x1580 kernel/rcu/tree.c:2314 rcu_core_si+0x9/0x10 kernel/rcu/tree.c:2323 __do_softirq+0x262/0x98c kernel/softirq.c:292 The buggy address belongs to the object at ffff88809a611a80 which belongs to the cache sock_inode_cache(17:syz0) of size 1152 The buggy address is located 120 bytes inside of 1152-byte region [ffff88809a611a80, ffff88809a611f00) The buggy address belongs to the page: page:ffffea0002698440 refcount:1 mapcount:0 mapping:ffff8880992c4540 index:0xffff88809a611ffd flags: 0x1fffc0000000200(slab) raw: 01fffc0000000200 ffffea000269f5c8 ffffea000239e4c8 ffff8880992c4540 raw: ffff88809a611ffd ffff88809a611080 0000000100000003 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff88809a611980: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff88809a611a00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc >ffff88809a611a80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff88809a611b00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff88809a611b80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ==================================================================