bisecting fixing commit since 414510bc00a5fc954d8340c170083f518d09aa55 building syzkaller on a60cb4cd840ce786236a00480e8bb1025e0c5fef testing commit 414510bc00a5fc954d8340c170083f518d09aa55 with gcc (GCC) 8.1.0 kernel signature: dc14085ad191d83b9971a7f47fc724c733b4dac6 run #0: crashed: KASAN: use-after-free Write in padata_parallel_worker run #1: crashed: KASAN: use-after-free Write in padata_parallel_worker run #2: crashed: BUG: unable to handle kernel run #3: crashed: KASAN: use-after-free Write in padata_parallel_worker run #4: crashed: KASAN: use-after-free Write in padata_parallel_worker run #5: crashed: BUG: unable to handle kernel run #6: crashed: BUG: unable to handle kernel run #7: crashed: KASAN: use-after-free Write in padata_parallel_worker run #8: crashed: KASAN: use-after-free Write in padata_parallel_worker run #9: crashed: KASAN: use-after-free Write in padata_parallel_worker testing current HEAD a844dc4c544291470aa69edbe2434b040794e269 testing commit a844dc4c544291470aa69edbe2434b040794e269 with gcc (GCC) 8.1.0 kernel signature: 7843f1e94274b3b770ae98fa104b9cd4564f636b run #0: crashed: KASAN: use-after-free Write in padata_parallel_worker run #1: crashed: BUG: unable to handle kernel run #2: crashed: KASAN: use-after-free Write in padata_parallel_worker run #3: crashed: KASAN: use-after-free Write in padata_parallel_worker run #4: crashed: KASAN: use-after-free Write in padata_parallel_worker run #5: crashed: BUG: unable to handle kernel run #6: crashed: BUG: unable to handle kernel run #7: crashed: BUG: unable to handle kernel run #8: crashed: KASAN: use-after-free Write in padata_parallel_worker run #9: crashed: KASAN: use-after-free Write in padata_parallel_worker revisions tested: 2, total time: 22m48.245109705s (build: 16m4.942860766s, test: 6m6.041907381s) the crash still happens on HEAD commit msg: Linux 4.14.158 crash: KASAN: use-after-free Write in padata_parallel_worker IPv6: ADDRCONF(NETDEV_CHANGE): bridge_slave_1: link becomes ready bridge0: port 2(bridge_slave_1) entered blocking state bridge0: port 2(bridge_slave_1) entered forwarding state ================================================================== IPv6: ADDRCONF(NETDEV_UP): veth0: link is not ready BUG: KASAN: use-after-free in list_replace include/linux/list.h:141 [inline] BUG: KASAN: use-after-free in list_replace_init include/linux/list.h:149 [inline] BUG: KASAN: use-after-free in padata_parallel_worker+0x37a/0x420 kernel/padata.c:74 Write of size 8 at addr ffff88809e027e58 by task kworker/1:1/23 CPU: 1 PID: 23 Comm: kworker/1:1 Not tainted 4.14.158-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: pencrypt padata_parallel_worker 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_store8_noabort+0x17/0x20 mm/kasan/report.c:435 list_replace include/linux/list.h:141 [inline] list_replace_init include/linux/list.h:149 [inline] padata_parallel_worker+0x37a/0x420 kernel/padata.c:74 process_one_work+0x79e/0x16c0 kernel/workqueue.c:2114 worker_thread+0xcc/0xee0 kernel/workqueue.c:2248 kthread+0x338/0x400 kernel/kthread.c:232 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:404 Allocated by task 6792: save_stack_trace+0x16/0x20 arch/x86/kernel/stacktrace.c:59 save_stack+0x43/0xd0 mm/kasan/kasan.c:447 BUG: unable to handle kernel set_track mm/kasan/kasan.c:459 [inline] kasan_kmalloc+0xc7/0xe0 mm/kasan/kasan.c:551 __do_kmalloc mm/slab.c:3720 [inline] __kmalloc+0x15b/0x7b0 mm/slab.c:3729 paging request kmalloc include/linux/slab.h:493 [inline] kzalloc include/linux/slab.h:661 [inline] tls_push_record+0xf6/0x14c0 net/tls/tls_sw.c:250 at ffffffffffffffc8 tls_sw_push_pending_record+0xe/0x10 net/tls/tls_sw.c:299 IP: crypto_aead_encrypt include/crypto/aead.h:330 [inline] IP: pcrypt_aead_enc+0x7b/0xf0 crypto/pcrypt.c:143 tls_push_pending_closed_record+0xc5/0x120 net/tls/tls_main.c:205 PGD 786d067 tls_complete_pending_work include/net/tls.h:159 [inline] tls_sk_proto_close+0x56d/0x790 net/tls/tls_main.c:269 P4D 786d067 inet_release+0xd9/0x1c0 net/ipv4/af_inet.c:425 PUD 786f067 inet6_release+0x46/0x60 net/ipv6/af_inet6.c:450 PMD 0 __sock_release+0xc2/0x2a0 net/socket.c:602 sock_close+0x10/0x20 net/socket.c:1139 Oops: 0000 [#1] PREEMPT SMP KASAN __fput+0x232/0x750 fs/file_table.c:210 Modules linked in: ____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 CPU: 0 PID: 2557 Comm: kworker/0:2 Not tainted 4.14.158-syzkaller #0 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 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 entry_SYSCALL_64_after_hwframe+0x42/0xb7 Workqueue: pencrypt padata_parallel_worker Freed by task 6792: task: ffff8880a06cc280 task.stack: ffff8880a0658000 save_stack_trace+0x16/0x20 arch/x86/kernel/stacktrace.c:59 RIP: 0010:crypto_aead_encrypt include/crypto/aead.h:330 [inline] RIP: 0010:pcrypt_aead_enc+0x7b/0xf0 crypto/pcrypt.c:143 save_stack+0x43/0xd0 mm/kasan/kasan.c:447 RSP: 0018:ffff8880a065fc90 EFLAGS: 00010246 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 RAX: dffffc0000000000 RBX: ffff88809e027d10 RCX: ffffffff82b05b4e tls_push_record+0xd32/0x14c0 net/tls/tls_sw.c:293 RDX: 1ffffffffffffff9 RSI: 0000000000000008 RDI: ffff88809e027d48 tls_sw_push_pending_record+0xe/0x10 net/tls/tls_sw.c:299 RBP: ffff8880a065fcb0 R08: 0000000000000001 R09: 0000000000000000 tls_push_pending_closed_record+0xc5/0x120 net/tls/tls_main.c:205 R10: 0000000000000050 R11: ffff8880a06cc280 R12: 0000000000000000 tls_complete_pending_work include/net/tls.h:159 [inline] tls_sk_proto_close+0x56d/0x790 net/tls/tls_main.c:269 inet_release+0xd9/0x1c0 net/ipv4/af_inet.c:425 R13: ffff88809e027d48 R14: ffff8880a065fcf8 R15: 1ffff110140cbf9b inet6_release+0x46/0x60 net/ipv6/af_inet6.c:450 FS: 0000000000000000(0000) GS:ffff8880aee00000(0000) knlGS:0000000000000000 __sock_release+0xc2/0x2a0 net/socket.c:602 sock_close+0x10/0x20 net/socket.c:1139 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 __fput+0x232/0x750 fs/file_table.c:210 CR2: ffffffffffffffc8 CR3: 000000008a5d7000 CR4: 00000000001406f0 ____fput+0x9/0x10 fs/file_table.c:244 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 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 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 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 Call Trace: entry_SYSCALL_64_after_hwframe+0x42/0xb7 padata_parallel_worker+0x24e/0x420 kernel/padata.c:85 The buggy address belongs to the object at ffff88809e027e00 which belongs to the cache kmalloc-256 of size 256 process_one_work+0x79e/0x16c0 kernel/workqueue.c:2114 The buggy address is located 88 bytes inside of 256-byte region [ffff88809e027e00, ffff88809e027f00) The buggy address belongs to the page: worker_thread+0xcc/0xee0 kernel/workqueue.c:2248 page:ffffea00027809c0 count:1 mapcount:0 mapping:ffff88809e027040 index:0x0 kthread+0x338/0x400 kernel/kthread.c:232 flags: 0x1fffc0000000100(slab) raw: 01fffc0000000100 ffff88809e027040 0000000000000000 000000010000000c ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:404 raw: ffffea000228ec60 ffffea000219be20 ffff8880aa8007c0 0000000000000000 Code: page dumped because: kasan: bad access detected 00 0f Memory state around the buggy address: 85 ffff88809e027d00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb 82 ffff88809e027d80: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc 00 >ffff88809e027e00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb 00 ^ 00 ffff88809e027e80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb 48 ffff88809e027f00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc b8 ================================================================== 00