kasan: CONFIG_KASAN_INLINE enabled kasan: CONFIG_KASAN_INLINE enabled ================================================================== BUG: KASAN: use-after-free in locks_remove_flock+0x33c/0x350 fs/locks.c:2567 kasan: GPF could be caused by NULL-ptr deref or user memory access Read of size 8 at addr ffff8801c8a8c5a0 by task syz-executor4/15935 CPU: 1 PID: 15935 Comm: syz-executor4 Not tainted 4.20.0-rc1-next-20181107+ #107 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+0x244/0x39d lib/dump_stack.c:113 general protection fault: 0000 [#1] PREEMPT SMP KASAN print_address_description.cold.7+0x9/0x1ff mm/kasan/report.c:256 CPU: 0 PID: 15926 Comm: syz-executor3 Not tainted 4.20.0-rc1-next-20181107+ #107 kasan_report_error mm/kasan/report.c:354 [inline] kasan_report.cold.8+0x242/0x309 mm/kasan/report.c:412 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 RIP: 0010:locks_remove_flock+0x216/0x350 fs/locks.c:2567 __asan_report_load8_noabort+0x14/0x20 mm/kasan/report.c:433 Code: 00 0f 85 3a 01 00 00 48 8b 5b 98 48 85 db 74 3a e8 1f 41 92 ff 48 8d 7b 08 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <80> 3c 02 00 0f 85 17 01 00 00 48 8b 5b 08 48 85 db 74 0d e8 f2 40 locks_remove_flock+0x33c/0x350 fs/locks.c:2567 RSP: 0018:ffff88017dd4f880 EFLAGS: 00010202 RAX: dffffc0000000000 RBX: 0000000041b58ab3 RCX: ffffffff81ed555d RDX: 000000000836b157 RSI: ffffffff81ed5c71 RDI: 0000000041b58abb RBP: ffff88017dd4fa60 R08: ffff880188446200 R09: ffffed003b5c5b67 R10: ffffed003b5c5b67 R11: ffff8801dae2db3b R12: ffff8801bf553840 R13: ffff88017dd4f8f8 R14: 1ffff1002fba9f13 R15: dffffc0000000000 FS: 00000000014fa940(0000) GS:ffff8801dae00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00000000004ee3b8 CR3: 00000001bf9ca000 CR4: 00000000001406f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 locks_remove_file+0x148/0x5c0 fs/locks.c:2607 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: __fput+0x2f0/0xa70 fs/file_table.c:271 locks_remove_file+0x148/0x5c0 fs/locks.c:2607 ____fput+0x15/0x20 fs/file_table.c:312 task_work_run+0x1e8/0x2a0 kernel/task_work.c:113 __fput+0x2f0/0xa70 fs/file_table.c:271 tracehook_notify_resume include/linux/tracehook.h:188 [inline] exit_to_usermode_loop+0x318/0x380 arch/x86/entry/common.c:166 prepare_exit_to_usermode arch/x86/entry/common.c:197 [inline] syscall_return_slowpath arch/x86/entry/common.c:268 [inline] do_syscall_64+0x6be/0x820 arch/x86/entry/common.c:293 ____fput+0x15/0x20 fs/file_table.c:312 task_work_run+0x1e8/0x2a0 kernel/task_work.c:113 tracehook_notify_resume include/linux/tracehook.h:188 [inline] exit_to_usermode_loop+0x318/0x380 arch/x86/entry/common.c:166 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x457569 prepare_exit_to_usermode arch/x86/entry/common.c:197 [inline] syscall_return_slowpath arch/x86/entry/common.c:268 [inline] do_syscall_64+0x6be/0x820 arch/x86/entry/common.c:293 Code: fd b3 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 b3 fb ff c3 66 2e 0f 1f 84 00 00 00 00 RSP: 002b:00007f13dce57c78 EFLAGS: 00000246 ORIG_RAX: 0000000000000049 RAX: 0000000000000000 RBX: 0000000000000002 RCX: 0000000000457569 RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000007 RBP: 000000000072bf00 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007f13dce586d4 R13: 00000000004bdd9e R14: 00000000004ccdb8 R15: 00000000ffffffff entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x411021 Allocated by task 15935: Code: 75 14 b8 03 00 00 00 0f 05 48 3d 01 f0 ff ff 0f 83 34 19 00 00 c3 48 83 ec 08 e8 0a fc ff ff 48 89 04 24 b8 03 00 00 00 0f 05 <48> 8b 3c 24 48 89 c2 e8 53 fc ff ff 48 89 d0 48 83 c4 08 48 3d 01 save_stack+0x43/0xd0 mm/kasan/kasan.c:448 RSP: 002b:00007ffee1a214a0 EFLAGS: 00000293 ORIG_RAX: 0000000000000003 set_track mm/kasan/kasan.c:460 [inline] kasan_kmalloc+0xc7/0xe0 mm/kasan/kasan.c:553 RAX: 0000000000000000 RBX: 0000000000000004 RCX: 0000000000411021 kasan_slab_alloc+0x12/0x20 mm/kasan/kasan.c:490 RDX: 0000001b2d520000 RSI: 00000000007323d0 RDI: 0000000000000003 kmem_cache_alloc+0x12e/0x730 mm/slab.c:3554 RBP: 0000000000000000 R08: ffffffff8139bc39 R09: 00000000abbee66b kmem_cache_zalloc include/linux/slab.h:731 [inline] locks_alloc_lock+0x9e/0x300 fs/locks.c:304 R10: 00007ffee1a213d0 R11: 0000000000000293 R12: 0000000000000000 flock_make_lock+0x22c/0x2a0 fs/locks.c:438 R13: 0000000000000001 R14: 0000000000000180 R15: 0000000000000003 __do_sys_flock fs/locks.c:2057 [inline] __se_sys_flock fs/locks.c:2038 [inline] __x64_sys_flock+0x12b/0x350 fs/locks.c:2038 do_syscall_64+0x1b9/0x820 arch/x86/entry/common.c:290 Modules linked in: entry_SYSCALL_64_after_hwframe+0x49/0xbe kasan: GPF could be caused by NULL-ptr deref or user memory access Freed by task 15935: 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 general protection fault: 0000 [#2] PREEMPT SMP KASAN __cache_free mm/slab.c:3498 [inline] kmem_cache_free+0x83/0x290 mm/slab.c:3760 CPU: 0 PID: 15936 Comm: syz-executor5 Tainted: G D 4.20.0-rc1-next-20181107+ #107 locks_free_lock+0x295/0x420 fs/locks.c:341 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 __do_sys_flock fs/locks.c:2078 [inline] __se_sys_flock fs/locks.c:2038 [inline] __x64_sys_flock+0x289/0x350 fs/locks.c:2038 RIP: 0010:locks_remove_flock+0x216/0x350 fs/locks.c:2567 do_syscall_64+0x1b9/0x820 arch/x86/entry/common.c:290 Code: 00 0f 85 3a 01 00 00 48 8b 5b 98 48 85 db 74 3a e8 1f 41 92 ff 48 8d 7b 08 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <80> 3c 02 00 0f 85 17 01 00 00 48 8b 5b 08 48 85 db 74 0d e8 f2 40 entry_SYSCALL_64_after_hwframe+0x49/0xbe RSP: 0018:ffff8801c2b17880 EFLAGS: 00010202 RAX: dffffc0000000000 RBX: 0000000041b58ab3 RCX: ffffffff81ed555d The buggy address belongs to the object at ffff8801c8a8c560 which belongs to the cache file_lock_cache of size 264 RDX: 000000000836b157 RSI: ffffffff81ed5c71 RDI: 0000000041b58abb The buggy address is located 64 bytes inside of 264-byte region [ffff8801c8a8c560, ffff8801c8a8c668) RBP: ffff8801c2b17a60 R08: ffff880188b485c0 R09: ffffed003b5e5b67 The buggy address belongs to the page: R10: ffffed003b5e5b67 R11: ffff8801daf2db3b R12: ffff880183113cc0 page:ffffea000722a300 count:1 mapcount:0 mapping:ffff8801d9bf1900 index:0x0 R13: ffff8801c2b178f8 R14: 1ffff10038562f13 R15: dffffc0000000000 flags: 0x2fffc0000000200(slab) FS: 0000000002117940(0000) GS:ffff8801dae00000(0000) knlGS:0000000000000000 raw: 02fffc0000000200 ffff8801d9bf5a48 ffffea0006fb4088 ffff8801d9bf1900 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 raw: 0000000000000000 ffff8801c8a8c040 000000010000000c 0000000000000000 CR2: ffffffffff600400 CR3: 00000001b83a9000 CR4: 00000000001406f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 page dumped because: kasan: bad access detected DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: Memory state around the buggy address: ffff8801c8a8c480: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8801c8a8c500: fb fb fb fb fc fc fc fc fc fc fc fc fb fb fb fb >ffff8801c8a8c580: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff8801c8a8c600: fb fb fb fb fb fb fb fb fb fb fb fb fb fc fc fc ffff8801c8a8c680: fc fc fc fc fc 00 00 00 00 00 00 00 00 00 00 00 ================================================================== kobject: 'loop2' (0000000025ac9d79): kobject_uevent_env kasan: CONFIG_KASAN_INLINE enabled locks_remove_file+0x148/0x5c0 fs/locks.c:2607 kobject: 'loop2' (0000000025ac9d79): fill_kobj_path: path = '/devices/virtual/block/loop2' kasan: GPF could be caused by NULL-ptr deref or user memory access __fput+0x2f0/0xa70 fs/file_table.c:271 ____fput+0x15/0x20 fs/file_table.c:312 task_work_run+0x1e8/0x2a0 kernel/task_work.c:113 tracehook_notify_resume include/linux/tracehook.h:188 [inline] exit_to_usermode_loop+0x318/0x380 arch/x86/entry/common.c:166 prepare_exit_to_usermode arch/x86/entry/common.c:197 [inline] syscall_return_slowpath arch/x86/entry/common.c:268 [inline] do_syscall_64+0x6be/0x820 arch/x86/entry/common.c:293 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x411021 Code: 75 14 b8 03 00 00 00 0f 05 48 3d 01 f0 ff ff 0f 83 34 19 00 00 c3 48 83 ec 08 e8 0a fc ff ff 48 89 04 24 b8 03 00 00 00 0f 05 <48> 8b 3c 24 48 89 c2 e8 53 fc ff ff 48 89 d0 48 83 c4 08 48 3d 01 RSP: 002b:00007ffd52c08d00 EFLAGS: 00000293 ORIG_RAX: 0000000000000003 RAX: 0000000000000000 RBX: 0000000000000004 RCX: 0000000000411021 RDX: 0000001b32620000 RSI: 0000000000730c50 RDI: 0000000000000003 RBP: 0000000000000000 R08: 000000008139bdc9 R09: 0000000000000000 R10: 00007ffd52c08c30 R11: 0000000000000293 R12: 0000000000000000 R13: 0000000000000001 R14: 00000000000000d3 R15: 0000000000000005 Modules linked in: general protection fault: 0000 [#3] PREEMPT SMP KASAN CPU: 1 PID: 7387 Comm: udevd Tainted: G B D 4.20.0-rc1-next-20181107+ #107 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 RIP: 0010:locks_remove_flock+0x216/0x350 fs/locks.c:2567 ---[ end trace 59a8127f53cbafb8 ]--- Code: 00 0f 85 3a 01 00 00 48 8b 5b 98 48 85 db 74 3a e8 1f 41 92 ff 48 8d 7b 08 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <80> 3c 02 00 0f 85 17 01 00 00 48 8b 5b 08 48 85 db 74 0d e8 f2 40 RSP: 0018:ffff880183d47880 EFLAGS: 00010202 RAX: dffffc0000000000 RBX: 0000000041b58ab3 RCX: ffffffff81ed555d RDX: 000000000836b157 RSI: ffffffff81ed5c71 RDI: 0000000041b58abb RIP: 0010:locks_remove_flock+0x216/0x350 fs/locks.c:2567 RBP: ffff880183d47a60 R08: ffff8801cc90a340 R09: ffffed0037e5f43f R10: ffffed0037e5f43f R11: ffff8801bf2fa1fb R12: ffff8801cc1062c0 R13: ffff880183d478f8 R14: 1ffff100307a8f13 R15: dffffc0000000000 FS: 00007fd58900d7a0(0000) GS:ffff8801daf00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007ffe32a09450 CR3: 00000001d89be000 CR4: 00000000001406e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 Code: 00 0f 85 3a 01 00 00 48 8b 5b 98 48 85 db 74 3a e8 1f 41 92 ff 48 8d 7b 08 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <80> 3c 02 00 0f 85 17 01 00 00 48 8b 5b 08 48 85 db 74 0d e8 f2 40 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: RSP: 0018:ffff88017dd4f880 EFLAGS: 00010202 RAX: dffffc0000000000 RBX: 0000000041b58ab3 RCX: ffffffff81ed555d RDX: 000000000836b157 RSI: ffffffff81ed5c71 RDI: 0000000041b58abb locks_remove_file+0x148/0x5c0 fs/locks.c:2607 RBP: ffff88017dd4fa60 R08: ffff880188446200 R09: ffffed003b5c5b67