bisecting fixing commit since 9f31eb60d7a23536bf3902d4dc602f10c822b79e building syzkaller on 34bf9440bd06034f86b5d9ac8afbf078129cbdae testing commit 9f31eb60d7a23536bf3902d4dc602f10c822b79e with gcc (GCC) 8.1.0 kernel signature: 173a8abb9544034334e463727a9dd1bb868e75d57ef25cb8bb3f6ff15cc24da5 run #0: crashed: general protection fault in scatterwalk_copychunks run #1: crashed: general protection fault in scatterwalk_copychunks run #2: crashed: KASAN: slab-out-of-bounds Read in scatterwalk_copychunks run #3: crashed: KASAN: slab-out-of-bounds Read in scatterwalk_copychunks run #4: crashed: KASAN: slab-out-of-bounds Read in scatterwalk_copychunks run #5: crashed: general protection fault in scatterwalk_copychunks run #6: crashed: KASAN: slab-out-of-bounds Read in scatterwalk_copychunks run #7: crashed: KASAN: slab-out-of-bounds Read in scatterwalk_copychunks run #8: crashed: KASAN: use-after-free Read in scatterwalk_copychunks run #9: crashed: KASAN: slab-out-of-bounds Read in scatterwalk_copychunks testing current HEAD 765675379b6253b6901563e649a2f87d28ada3ff testing commit 765675379b6253b6901563e649a2f87d28ada3ff with gcc (GCC) 8.1.0 kernel signature: 6104221b86063cc4b2f13da70a413c1f1bc20d6fa792deb75c809e3717be16fc run #0: crashed: general protection fault in scatterwalk_copychunks run #1: crashed: KASAN: slab-out-of-bounds Read in scatterwalk_copychunks run #2: crashed: KASAN: slab-out-of-bounds Read in scatterwalk_copychunks run #3: crashed: general protection fault in scatterwalk_copychunks run #4: crashed: KASAN: slab-out-of-bounds Read in scatterwalk_copychunks run #5: crashed: general protection fault in scatterwalk_copychunks run #6: crashed: KASAN: slab-out-of-bounds Read in scatterwalk_copychunks run #7: crashed: general protection fault in scatterwalk_copychunks run #8: crashed: general protection fault in scatterwalk_copychunks run #9: crashed: KASAN: use-after-free Read in scatterwalk_copychunks revisions tested: 2, total time: 25m58.933389245s (build: 18m45.880818841s, test: 6m10.658386997s) the crash still happens on HEAD commit msg: Linux 4.19.119 crash: KASAN: use-after-free Read in scatterwalk_copychunks ================================================================== RDX: 0000000000000004 RSI: 0000000000000000 RDI: 0000000000000003 RBP: 000000000075bf20 R08: 0000000100000300 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007f65773a06d4 R13: 00000000004c87fb R14: 00000000004de630 R15: 0000000000000005 BUG: KASAN: use-after-free in memcpy include/linux/string.h:348 [inline] BUG: KASAN: use-after-free in memcpy_dir crypto/scatterwalk.c:28 [inline] BUG: KASAN: use-after-free in scatterwalk_copychunks+0x1e1/0x610 crypto/scatterwalk.c:43 Read of size 4094 at addr ffff888096a02000 by task syz-executor.1/7383 CPU: 0 PID: 7383 Comm: syz-executor.1 Not tainted 4.19.119-syzkaller #0 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+0x123/0x177 lib/dump_stack.c:118 print_address_description.cold.8+0x9/0x1ff mm/kasan/report.c:256 kasan_report_error mm/kasan/report.c:354 [inline] kasan_report.cold.9+0x242/0x309 mm/kasan/report.c:412 check_memory_region_inline mm/kasan/kasan.c:260 [inline] check_memory_region+0x13e/0x1b0 mm/kasan/kasan.c:267 memcpy+0x23/0x50 mm/kasan/kasan.c:302 memcpy include/linux/string.h:348 [inline] memcpy_dir crypto/scatterwalk.c:28 [inline] scatterwalk_copychunks+0x1e1/0x610 crypto/scatterwalk.c:43 scatterwalk_map_and_copy+0x128/0x190 crypto/scatterwalk.c:72 gcmaes_encrypt.constprop.15+0x6d6/0xda0 arch/x86/crypto/aesni-intel_glue.c:956 generic_gcmaes_encrypt+0xfd/0x150 arch/x86/crypto/aesni-intel_glue.c:1297 crypto_aead_encrypt include/crypto/aead.h:335 [inline] gcmaes_wrapper_encrypt+0x109/0x180 arch/x86/crypto/aesni-intel_glue.c:1130 crypto_aead_encrypt include/crypto/aead.h:335 [inline] tls_do_encryption net/tls/tls_sw.c:193 [inline] tls_push_record+0x966/0x1720 net/tls/tls_sw.c:228 tls_sw_sendpage+0x458/0xc00 net/tls/tls_sw.c:585 inet_sendpage+0x122/0x600 net/ipv4/af_inet.c:815 kernel_sendpage+0x60/0xd0 net/socket.c:3378 sock_sendpage+0x6d/0xd0 net/socket.c:847 pipe_to_sendpage+0x212/0x430 fs/splice.c:452 splice_from_pipe_feed fs/splice.c:503 [inline] __splice_from_pipe+0x2cb/0x720 fs/splice.c:627 splice_from_pipe+0xbb/0x120 fs/splice.c:662 generic_splice_sendpage+0x10/0x20 fs/splice.c:833 do_splice_from fs/splice.c:852 [inline] do_splice+0x4fd/0x12d0 fs/splice.c:1154 __do_sys_splice fs/splice.c:1428 [inline] __se_sys_splice fs/splice.c:1408 [inline] __x64_sys_splice+0x248/0x300 fs/splice.c:1408 do_syscall_64+0xd0/0x4e0 arch/x86/entry/common.c:293 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x4592c9 Code: fd b7 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 cb b7 fb ff c3 66 2e 0f 1f 84 00 00 00 00 RSP: 002b:00007f23fa6adc78 EFLAGS: 00000246 ORIG_RAX: 0000000000000113 RAX: ffffffffffffffda RBX: 00007f23fa6adc90 RCX: 00000000004592c9 RDX: 0000000000000004 RSI: 0000000000000000 RDI: 0000000000000003 RBP: 000000000075bf20 R08: 0000000100000300 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007f23fa6ae6d4 R13: 00000000004c87fb R14: 00000000004de630 R15: 0000000000000005 Allocated by task 1: save_stack+0x43/0xd0 mm/kasan/kasan.c:448 set_track mm/kasan/kasan.c:460 [inline] kasan_kmalloc+0xc7/0xe0 mm/kasan/kasan.c:553 kasan_slab_alloc+0x12/0x20 mm/kasan/kasan.c:490 kmem_cache_alloc+0x12e/0x730 mm/slab.c:3559 kmem_cache_zalloc include/linux/slab.h:699 [inline] file_alloc_security security/selinux/hooks.c:390 [inline] selinux_file_alloc_security+0xb7/0x1a0 security/selinux/hooks.c:3600 security_file_alloc+0x3a/0x70 security/security.c:880 __alloc_file+0xbf/0x2f0 fs/file_table.c:105 alloc_empty_file+0x45/0x110 fs/file_table.c:150 path_openat+0x106/0x3c60 fs/namei.c:3526 do_filp_open+0x177/0x250 fs/namei.c:3567 do_sys_open+0x1dd/0x350 fs/open.c:1085 __do_sys_open fs/open.c:1103 [inline] __se_sys_open fs/open.c:1098 [inline] __x64_sys_open+0x79/0xb0 fs/open.c:1098 do_syscall_64+0xd0/0x4e0 arch/x86/entry/common.c:293 entry_SYSCALL_64_after_hwframe+0x49/0xbe Freed by task 1: save_stack+0x43/0xd0 mm/kasan/kasan.c:448 set_track mm/kasan/kasan.c:460 [inline] __kasan_slab_free+0x102/0x150 mm/kasan/kasan.c:521 kasan_slab_free+0xe/0x10 mm/kasan/kasan.c:528 __cache_free mm/slab.c:3503 [inline] kmem_cache_free+0x83/0x290 mm/slab.c:3765 file_free_security security/selinux/hooks.c:405 [inline] selinux_file_free_security+0x44/0x50 security/selinux/hooks.c:3605 security_file_free+0x3a/0x70 security/security.c:885 file_free fs/file_table.c:54 [inline] __fput+0x355/0x7f0 fs/file_table.c:294 ____fput+0x9/0x10 fs/file_table.c:309 task_work_run+0x108/0x180 kernel/task_work.c:113 tracehook_notify_resume include/linux/tracehook.h:193 [inline] exit_to_usermode_loop+0x1a9/0x200 arch/x86/entry/common.c:167 prepare_exit_to_usermode arch/x86/entry/common.c:198 [inline] syscall_return_slowpath arch/x86/entry/common.c:271 [inline] do_syscall_64+0x413/0x4e0 arch/x86/entry/common.c:296 entry_SYSCALL_64_after_hwframe+0x49/0xbe The buggy address belongs to the object at ffff888096a02000 which belongs to the cache selinux_file_security of size 16 The buggy address is located 0 bytes inside of 16-byte region [ffff888096a02000, ffff888096a02010) The buggy address belongs to the page: page:ffffea00025a8080 count:1 mapcount:0 mapping:ffff8880aa44de40 index:0xffff888096a02f84 flags: 0x1fffc0000000100(slab) raw: 01fffc0000000100 ffffea0002553988 ffffea000259bdc8 ffff8880aa44de40 raw: ffff888096a02f84 ffff888096a02000 000000010000003b 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff888096a01f00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffff888096a01f80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >ffff888096a02000: fb fb fc fc fb fb fc fc fb fb fc fc fb fb fc fc ^ ffff888096a02080: fb fb fc fc fb fb fc fc fb fb fc fc fb fb fc fc ffff888096a02100: fb fb fc fc 00 00 fc fc fb fb fc fc 00 00 fc fc ==================================================================