bisecting fixing commit since e0f8b8a65a473a8baa439cf865a694bbeb83fe90 building syzkaller on d9e55b056e3a1a5f05c423f93a0b1008ecff1fb8 testing commit e0f8b8a65a473a8baa439cf865a694bbeb83fe90 with gcc (GCC) 8.1.0 kernel signature: 15833648347771e31a77d9e485b2560ebd16836656e6bb42f51c5998b0f8970f run #0: crashed: KASAN: use-after-free Read in __lock_sock run #1: crashed: KASAN: use-after-free Read in sctp_sock_dump run #2: crashed: KASAN: use-after-free Read in sctp_sock_dump run #3: crashed: KASAN: use-after-free Read in sctp_sock_dump run #4: crashed: KASAN: use-after-free Read in sctp_sock_dump run #5: crashed: KASAN: use-after-free Read in __lock_sock run #6: crashed: KASAN: use-after-free Read in __lock_sock run #7: crashed: KASAN: use-after-free Read in __lock_sock run #8: crashed: KASAN: use-after-free Read in __lock_sock run #9: crashed: KASAN: use-after-free Read in __lock_sock testing current HEAD c6db52a88798e5a0dfef80041ad4d33cc8cf04eb testing commit c6db52a88798e5a0dfef80041ad4d33cc8cf04eb with gcc (GCC) 8.1.0 kernel signature: 4f35ea793f3c6a8492930b16fba655fc2a89776a6088b4051cc34e01b8fc3d7c run #0: crashed: KASAN: use-after-free Read in __lock_sock run #1: crashed: KASAN: use-after-free Read in __lock_sock run #2: crashed: KASAN: use-after-free Read in __lock_sock run #3: crashed: KASAN: use-after-free Read in sctp_sock_dump run #4: crashed: KASAN: use-after-free Read in __lock_sock run #5: crashed: KASAN: use-after-free Read in sctp_sock_dump run #6: crashed: KASAN: use-after-free Read in __lock_sock run #7: crashed: KASAN: use-after-free Read in __lock_sock run #8: crashed: KASAN: use-after-free Read in __lock_sock run #9: crashed: KASAN: use-after-free Read in sctp_sock_dump revisions tested: 2, total time: 24m13.133692618s (build: 16m34.447502296s, test: 6m39.969916137s) the crash still happens on HEAD commit msg: Linux 4.14.183 crash: KASAN: use-after-free Read in sctp_sock_dump batman_adv: batadv0: Interface activated: batadv_slave_1 IPv6: ADDRCONF(NETDEV_CHANGE): batadv_slave_1: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_batadv: link becomes ready ================================================================== BUG: KASAN: use-after-free in sctp_sock_dump+0xbf4/0xc70 net/sctp/sctp_diag.c:291 Read of size 8 at addr ffff888096d02660 by task syz-executor.3/12165 CPU: 0 PID: 12165 Comm: syz-executor.3 Not tainted 4.14.183-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:17 [inline] dump_stack+0xf7/0x13b lib/dump_stack.c:58 print_address_description.cold.7+0x9/0x1c9 mm/kasan/report.c:252 kasan_report_error mm/kasan/report.c:351 [inline] kasan_report.cold.8+0x11a/0x2d3 mm/kasan/report.c:409 __asan_report_load8_noabort+0x14/0x20 mm/kasan/report.c:430 sctp_sock_dump+0xbf4/0xc70 net/sctp/sctp_diag.c:291 sctp_for_each_transport+0x1f8/0x270 net/sctp/socket.c:4763 sctp_diag_dump+0x253/0x4e0 net/sctp/sctp_diag.c:493 __inet_diag_dump+0x7f/0x110 net/ipv4/inet_diag.c:1049 inet_diag_dump+0x74/0xf0 net/ipv4/inet_diag.c:1065 netlink_dump+0x3bf/0xb70 net/netlink/af_netlink.c:2203 __netlink_dump_start+0x4c7/0x770 net/netlink/af_netlink.c:2300 netlink_dump_start include/linux/netlink.h:217 [inline] inet_diag_handler_cmd+0x1cd/0x2a0 net/ipv4/inet_diag.c:1170 __sock_diag_cmd net/core/sock_diag.c:231 [inline] sock_diag_rcv_msg+0x252/0x350 net/core/sock_diag.c:263 netlink_rcv_skb+0x133/0x370 net/netlink/af_netlink.c:2433 sock_diag_rcv+0x25/0x40 net/core/sock_diag.c:274 netlink_unicast_kernel net/netlink/af_netlink.c:1287 [inline] netlink_unicast+0x40b/0x600 net/netlink/af_netlink.c:1313 netlink_sendmsg+0x730/0xbd0 net/netlink/af_netlink.c:1878 sock_sendmsg_nosec net/socket.c:646 [inline] sock_sendmsg+0xb5/0xf0 net/socket.c:656 sock_write_iter+0x20d/0x400 net/socket.c:925 call_write_iter include/linux/fs.h:1778 [inline] do_iter_readv_writev+0x460/0x900 fs/read_write.c:675 do_iter_write+0x12b/0x520 fs/read_write.c:954 vfs_writev+0x145/0x2a0 fs/read_write.c:999 do_writev+0x10d/0x320 fs/read_write.c:1034 SYSC_writev fs/read_write.c:1107 [inline] SyS_writev+0xb/0x10 fs/read_write.c:1104 do_syscall_64+0x1c7/0x5b0 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x46/0xbb RIP: 0033:0x45b3b9 RSP: 002b:00007f85ded3dc78 EFLAGS: 00000246 ORIG_RAX: 0000000000000014 RAX: ffffffffffffffda RBX: 00007f85ded3e6d4 RCX: 000000000045b3b9 RDX: 0000000000000001 RSI: 0000000020000000 RDI: 000000000000000c RBP: 000000000075c070 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00000000ffffffff R13: 0000000000000cdd R14: 00000000004c9cc2 R15: 000000000075c07c Allocated by task 12160: save_stack_trace+0x16/0x20 arch/x86/kernel/stacktrace.c:59 save_stack+0x43/0xd0 mm/kasan/kasan.c:447 set_track mm/kasan/kasan.c:459 [inline] kasan_kmalloc+0xc7/0xe0 mm/kasan/kasan.c:551 kmem_cache_alloc_trace+0x152/0x7a0 mm/slab.c:3618 kmalloc include/linux/slab.h:488 [inline] kzalloc include/linux/slab.h:661 [inline] sctp_endpoint_new+0x65/0xc60 net/sctp/endpointola.c:192 sctp_init_sock+0xb40/0x1200 net/sctp/socket.c:4438 inet6_create+0x872/0xde0 net/ipv6/af_inet6.c:255 __sock_create+0x262/0x540 net/socket.c:1275 sock_create net/socket.c:1315 [inline] SYSC_socket net/socket.c:1345 [inline] SyS_socket+0xc6/0x1a0 net/socket.c:1325 do_syscall_64+0x1c7/0x5b0 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x46/0xbb Freed by task 12160: save_stack_trace+0x16/0x20 arch/x86/kernel/stacktrace.c:59 save_stack+0x43/0xd0 mm/kasan/kasan.c:447 set_track mm/kasan/kasan.c:459 [inline] kasan_slab_free+0x71/0xc0 mm/kasan/kasan.c:524 __cache_free mm/slab.c:3496 [inline] kfree+0xcc/0x270 mm/slab.c:3815 sctp_endpoint_destroy net/sctp/endpointola.c:282 [inline] sctp_endpoint_put+0x1d9/0x240 net/sctp/endpointola.c:298 sctp_endpoint_free+0x92/0xb0 net/sctp/endpointola.c:241 sctp_destroy_sock+0x84/0x390 net/sctp/socket.c:4491 sctp_v6_destroy_sock+0xd/0x20 net/sctp/socket.c:8351 sk_common_release+0x5e/0x2c0 net/core/sock.c:2992 sctp_close+0x3d0/0x710 net/sctp/socket.c:1599 inet_release+0xd9/0x1c0 net/ipv4/af_inet.c:425 inet6_release+0x46/0x60 net/ipv6/af_inet6.c:450 __sock_release+0xc2/0x2a0 net/socket.c:602 sock_close+0x10/0x20 net/socket.c:1139 __fput+0x232/0x750 fs/file_table.c:210 ____fput+0x9/0x10 fs/file_table.c:244 task_work_run+0xe5/0x170 kernel/task_work.c:113 get_signal+0x148c/0x1b30 kernel/signal.c:2234 do_signal+0x7f/0x19a0 arch/x86/kernel/signal.c:814 exit_to_usermode_loop+0x114/0x1b0 arch/x86/entry/common.c:160 prepare_exit_to_usermode arch/x86/entry/common.c:199 [inline] syscall_return_slowpath arch/x86/entry/common.c:270 [inline] do_syscall_64+0x416/0x5b0 arch/x86/entry/common.c:297 entry_SYSCALL_64_after_hwframe+0x46/0xbb The buggy address belongs to the object at ffff888096d025c0 which belongs to the cache kmalloc-512 of size 512 The buggy address is located 160 bytes inside of 512-byte region [ffff888096d025c0, ffff888096d027c0) The buggy address belongs to the page: page:ffffea00025b4080 count:1 mapcount:0 mapping:ffff888096d020c0 index:0x0 flags: 0xfffe0000000100(slab) raw: 00fffe0000000100 ffff888096d020c0 0000000000000000 0000000100000006 raw: ffffea00025f81a0 ffffea00027c4ea0 ffff8880aa800940 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff888096d02500: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc ffff888096d02580: fc fc fc fc fc fc fc fc fb fb fb fb fb fb fb fb >ffff888096d02600: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff888096d02680: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff888096d02700: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ==================================================================