================================================================== BUG: KASAN: use-after-free in list_empty include/linux/list.h:189 [inline] BUG: KASAN: use-after-free in sg_remove_request+0xf9/0x110 drivers/scsi/sg.c:2120 Read of size 8 at addr ffff8800b07db540 by task syz-executor4/11061 CPU: 0 PID: 11061 Comm: syz-executor4 Not tainted 4.4.120-gd63fdf6 #29 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 0000000000000000 3ff7244a99c12a4e ffff8801d3caf970 ffffffff81d0408d ffffea0002c1f6c0 ffff8800b07db540 0000000000000000 ffff8800b07db540 ffff8800bbb1c438 ffff8801d3caf9a8 ffffffff814fe143 ffff8800b07db540 Call Trace: [] __dump_stack lib/dump_stack.c:15 [inline] [] dump_stack+0xc1/0x124 lib/dump_stack.c:51 [] print_address_description+0x73/0x260 mm/kasan/report.c:252 [] kasan_report_error mm/kasan/report.c:351 [inline] [] kasan_report+0x285/0x370 mm/kasan/report.c:408 [] __asan_report_load8_noabort+0x14/0x20 mm/kasan/report.c:429 [] list_empty include/linux/list.h:189 [inline] [] sg_remove_request+0xf9/0x110 drivers/scsi/sg.c:2120 [] sg_finish_rem_req+0x295/0x340 drivers/scsi/sg.c:1837 [] sg_read+0xa1b/0x1490 drivers/scsi/sg.c:537 [] do_loop_readv_writev+0x141/0x1e0 fs/read_write.c:680 [] compat_do_readv_writev+0x5df/0x6e0 fs/read_write.c:984 [] compat_readv+0xd9/0x140 fs/read_write.c:1013 [] C_SYSC_readv fs/read_write.c:1033 [inline] [] compat_SyS_readv+0xd8/0x1b0 fs/read_write.c:1022 [] do_syscall_32_irqs_on arch/x86/entry/common.c:392 [inline] [] do_fast_syscall_32+0x321/0x8a0 arch/x86/entry/common.c:459 [] sysenter_flags_fixed+0xd/0x17 Allocated by task 8528: [] save_stack_trace+0x26/0x50 arch/x86/kernel/stacktrace.c:63 [] save_stack+0x43/0xd0 mm/kasan/kasan.c:512 [] set_track mm/kasan/kasan.c:524 [inline] [] kasan_kmalloc+0xad/0xe0 mm/kasan/kasan.c:616 [] kasan_slab_alloc+0x12/0x20 mm/kasan/kasan.c:554 [] slab_post_alloc_hook mm/slub.c:1349 [inline] [] slab_alloc_node mm/slub.c:2615 [inline] [] slab_alloc mm/slub.c:2623 [inline] [] kmem_cache_alloc+0xba/0x290 mm/slub.c:2628 [] fasync_alloc fs/fcntl.c:607 [inline] [] fasync_add_entry fs/fcntl.c:665 [inline] [] fasync_helper+0x37/0xb0 fs/fcntl.c:694 [] fsnotify_fasync+0x51/0x70 fs/notify/group.c:136 [] setfl fs/fcntl.c:69 [inline] [] do_fcntl fs/fcntl.c:270 [inline] [] SYSC_fcntl fs/fcntl.c:375 [inline] [] SyS_fcntl+0x64f/0xc40 fs/fcntl.c:360 [] C_SYSC_fcntl64 fs/compat.c:483 [inline] [] compat_SyS_fcntl64+0xce/0x4f0 fs/compat.c:417 [] do_syscall_32_irqs_on arch/x86/entry/common.c:392 [inline] [] do_fast_syscall_32+0x321/0x8a0 arch/x86/entry/common.c:459 [] sysenter_flags_fixed+0xd/0x17 Freed by task 150: [] save_stack_trace+0x26/0x50 arch/x86/kernel/stacktrace.c:63 [] save_stack+0x43/0xd0 mm/kasan/kasan.c:512 [] set_track mm/kasan/kasan.c:524 [inline] [] kasan_slab_free+0x72/0xc0 mm/kasan/kasan.c:589 [] slab_free_hook mm/slub.c:1383 [inline] [] slab_free_freelist_hook mm/slub.c:1405 [inline] [] slab_free mm/slub.c:2859 [inline] [] kmem_cache_free+0xc7/0x320 mm/slub.c:2881 [] fasync_free_rcu+0x1d/0x20 fs/fcntl.c:566 [] __rcu_reclaim kernel/rcu/rcu.h:118 [inline] [] rcu_do_batch kernel/rcu/tree.c:2705 [inline] [] invoke_rcu_callbacks kernel/rcu/tree.c:2973 [inline] [] __rcu_process_callbacks kernel/rcu/tree.c:2940 [inline] [] rcu_process_callbacks+0x7f4/0x14a0 kernel/rcu/tree.c:2957 [] __do_softirq+0x227/0xa38 kernel/softirq.c:273 The buggy address belongs to the object at ffff8800b07db500 which belongs to the cache fasync_cache of size 96 The buggy address is located 64 bytes inside of 96-byte region [ffff8800b07db500, ffff8800b07db560) The buggy address belongs to the page: ------------[ cut here ]------------ WARNING: CPU: 1 PID: 3861 at lib/list_debug.c:62 __list_del_entry+0x169/0x1d0 lib/list_debug.c:60() list_del corruption. next->prev should be ffff8801d332e088, but was ffff8801d3c348d0