bisecting fixing commit since ddef1e8e3f6eb26034833b7255e3fa584d54a230 building syzkaller on b35fad31e9c2d4a970d051deff80ec7cc4c3e459 testing commit ddef1e8e3f6eb26034833b7255e3fa584d54a230 with gcc (GCC) 8.1.0 kernel signature: 448232c3ab269a3e4e22441fce18b33655d93eb79aca98cc2290c609e4df83b8 run #0: crashed: KASAN: use-after-free Read in tls_write_space run #1: OK run #2: OK run #3: crashed: KASAN: use-after-free Read in tls_write_space run #4: OK run #5: OK run #6: OK run #7: OK run #8: OK run #9: OK reproducer seems to be flaky testing current HEAD 3f2ecb86cb909da0b9157fd2952ad79924cbe5ae testing commit 3f2ecb86cb909da0b9157fd2952ad79924cbe5ae with gcc (GCC) 8.1.0 kernel signature: 43595c3700f01ba08bcdfc90d2a7975f10e530708798b3dff779f92f05996be9 run #0: crashed: KASAN: use-after-free Read in tls_write_space run #1: crashed: KASAN: use-after-free Read in tls_write_space run #2: OK run #3: OK run #4: OK run #5: OK run #6: OK run #7: OK run #8: OK run #9: OK Reproducer flagged being flaky revisions tested: 2, total time: 38m27.887352359s (build: 16m37.40835806s, test: 20m57.04403724s) the crash still happens on HEAD commit msg: Linux 4.14.212 crash: KASAN: use-after-free Read in tls_write_space TCP: request_sock_TCPv6: Possible SYN flooding on port 20002. Sending cookies. Check SNMP counters. TCP: request_sock_TCPv6: Possible SYN flooding on port 20002. Sending cookies. Check SNMP counters. ================================================================== BUG: KASAN: use-after-free in tls_write_space+0x232/0x290 net/tls/tls_main.c:222 Read of size 1 at addr ffff8881e8427370 by task syz-executor.2/28069 CPU: 1 PID: 28069 Comm: syz-executor.2 Not tainted 4.14.212-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_load1_noabort+0x14/0x20 mm/kasan/report.c:427 tls_write_space+0x232/0x290 net/tls/tls_main.c:222 tcp_new_space net/ipv4/tcp_input.c:5112 [inline] tcp_check_space+0x375/0x610 net/ipv4/tcp_input.c:5123 tcp_data_snd_check net/ipv4/tcp_input.c:5133 [inline] tcp_rcv_established+0x5e9/0x1c10 net/ipv4/tcp_input.c:5581 tcp_v6_do_rcv+0x3f7/0x11a0 net/ipv6/tcp_ipv6.c:1301 sk_backlog_rcv include/net/sock.h:921 [inline] __release_sock+0x10b/0x340 net/core/sock.c:2269 release_sock+0x4f/0x180 net/core/sock.c:2805 tls_sk_proto_close+0x144/0x790 net/tls/tls_main.c:294 inet_release+0xd9/0x1c0 net/ipv4/af_inet.c:425 inet6_release+0x46/0x60 net/ipv6/af_inet6.c:450 TCP: request_sock_TCPv6: Possible SYN flooding on port 20002. Sending cookies. Check SNMP counters. __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 TCP: request_sock_TCPv6: Possible SYN flooding on port 20002. Sending cookies. Check SNMP counters. task_work_run+0xe5/0x170 kernel/task_work.c:113 tracehook_notify_resume include/linux/tracehook.h:191 [inline] exit_to_usermode_loop+0x16a/0x1b0 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+0x416/0x5b0 arch/x86/entry/common.c:297 entry_SYSCALL_64_after_hwframe+0x46/0xbb TCP: request_sock_TCPv6: Possible SYN flooding on port 20002. Sending cookies. Check SNMP counters. RIP: 0033:0x413db1 RSP: 002b:00007ffd15de0c90 EFLAGS: 00000293 ORIG_RAX: 0000000000000003 RAX: 0000000000000000 RBX: 0000000000000004 RCX: 0000000000413db1 RDX: 0000001b31c20000 RSI: 0000000000000000 RDI: 0000000000000003 RBP: 0000000000000001 R08: ffffffffffffffff R09: ffffffffffffffff TCP: request_sock_TCPv6: Possible SYN flooding on port 20002. Sending cookies. Check SNMP counters. R10: 00007ffd15de0d70 R11: 0000000000000293 R12: 000000000075bf20 R13: 000000000002cb2e R14: 00000000007612f0 R15: 000000000075bf2c Allocated by task 28072: 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] tls_init+0xb1/0x530 net/tls/tls_main.c:518 tcp_set_ulp+0x162/0x3fd net/ipv4/tcp_ulp.c:127 do_tcp_setsockopt.isra.34+0x310/0x1c20 net/ipv4/tcp.c:2547 tcp_setsockopt+0x80/0xd0 net/ipv4/tcp.c:2830 sock_common_setsockopt+0x73/0xf0 net/core/sock.c:2994 SYSC_setsockopt net/socket.c:1865 [inline] SyS_setsockopt+0x130/0x1f0 net/socket.c:1844 do_syscall_64+0x1c7/0x5b0 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x46/0xbb Freed by task 28069: 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 tls_ctx_free net/tls/tls_main.c:252 [inline] tls_sk_proto_close+0x13c/0x790 net/tls/tls_main.c:290 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 tracehook_notify_resume include/linux/tracehook.h:191 [inline] exit_to_usermode_loop+0x16a/0x1b0 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+0x416/0x5b0 arch/x86/entry/common.c:297 entry_SYSCALL_64_after_hwframe+0x46/0xbb The buggy address belongs to the object at ffff8881e8427300 which belongs to the cache kmalloc-192 of size 192 The buggy address is located 112 bytes inside of 192-byte region [ffff8881e8427300, ffff8881e84273c0) The buggy address belongs to the page: page:ffffea0007a109c0 count:1 mapcount:0 mapping:ffff8881e8427000 index:0x0 flags: 0x2fffc0000000100(slab) raw: 02fffc0000000100 ffff8881e8427000 0000000000000000 0000000100000010 raw: ffffea0007a25d60 ffffea0007a0a0e0 ffff8881f6400040 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff8881e8427200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffff8881e8427280: 00 00 00 fc fc fc fc fc fc fc fc fc fc fc fc fc >ffff8881e8427300: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff8881e8427380: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc ffff8881e8427400: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ==================================================================