================================================================== 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 ffff8800b608e240 by task syz-executor3/10958 CPU: 1 PID: 10958 Comm: syz-executor3 Not tainted 4.4.120-gd63fdf6 #28 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 0000000000000000 821aae1d69bfa06b ffff8800a9f2fab0 ffffffff81d0408d ffffea0002d82380 ffff8800b608e240 0000000000000000 ffff8800b608e240 ffff8801d7ed0238 ffff8800a9f2fae8 ffffffff814fe143 ffff8800b608e240 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 [] __vfs_read+0x103/0x440 fs/read_write.c:432 [] vfs_read+0x123/0x3a0 fs/read_write.c:454 [] SYSC_read fs/read_write.c:569 [inline] [] SyS_read+0xd9/0x1b0 fs/read_write.c:562 [] entry_SYSCALL_64_fastpath+0x1c/0x98 Allocated by task 7275: [] 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 [] sock_fasync+0xd1/0x1f0 net/socket.c:1063 [] ioctl_fioasync fs/ioctl.c:511 [inline] [] do_vfs_ioctl+0x981/0xee0 fs/ioctl.c:576 [] SYSC_ioctl fs/ioctl.c:622 [inline] [] SyS_ioctl+0x8f/0xc0 fs/ioctl.c:613 [] entry_SYSCALL_64_fastpath+0x1c/0x98 Freed by task 14: [] 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 ffff8800b608e200 which belongs to the cache fasync_cache of size 96 The buggy address is located 64 bytes inside of 96-byte region [ffff8800b608e200, ffff8800b608e260) The buggy address belongs to the page: kasan: CONFIG_KASAN_INLINE enabled kasan: GPF could be caused by NULL-ptr deref or user memory accessgeneral protection fault: 0000 [#1] PREEMPT SMP KASAN Dumping ftrace buffer: (ftrace buffer empty) Modules linked in: CPU: 0 PID: 3841 Comm: syz-executor3 Not tainted 4.4.120-gd63fdf6 #28 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 task: ffff8801c5e80000 task.stack: ffff8801c5e88000 RIP: 0010:[] [] task_curr kernel/sched/core.c:1023 [inline] RIP: 0010:[] [] kick_process+0xdd/0x1c0 kernel/sched/core.c:1565 RSP: 0000:ffff8801c5e8f800 EFLAGS: 00010002 RAX: dffffc0000000000 RBX: 000000000001f4c0 RCX: ffffffff81d63e4b RDX: 000000009a825780 RSI: ffffffff839fe520 RDI: 00000004d412bc00 RBP: ffff8801c5e8f820 R08: 0000000000000001 R09: 0000000000000001 R10: 0000000000000000 R11: 1ffff10038bd1eb8 R12: ffff8800bb3d3000 R13: 00000000a9f28050 R14: 00000000a9f28050 R15: ffff8800ba46ed40 FS: 0000000000000000(0000) GS:ffff8801db200000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000940ff8 CR3: 000000000420c000 CR4: 0000000000160670 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Stack: ffff8800bb3d3000 0000000000000080 dffffc0000000000 ffff8801d1c2b780 ffff8801c5e8f840 ffffffff81153bd5 ffff8800bb3d3000 ffff8801d81c0000 ffff8801c5e8f898 ffffffff811541d6 0000000000000000 0000000000000000 Call Trace: [] signal_wake_up_state+0x55/0x70 kernel/signal.c:660 [] signal_wake_up include/linux/sched.h:3319 [inline] [] complete_signal+0x5b6/0x700 kernel/signal.c:942 [] __send_signal+0x90f/0x1330 kernel/signal.c:1080 [] send_signal+0x4a/0xc0 kernel/signal.c:1096 [] do_send_sig_info+0xa4/0x130 kernel/signal.c:1151 [] send_sig_info+0x33/0x50 kernel/signal.c:1432 [] zap_pid_ns_processes+0x1de/0x690 kernel/pid_namespace.c:223 [] find_child_reaper kernel/exit.c:477 [inline] [] forget_original_parent kernel/exit.c:563 [inline] [] exit_notify kernel/exit.c:599 [inline] [] do_exit+0x1ed2/0x2a10 kernel/exit.c:776 [] do_group_exit+0x108/0x320 kernel/exit.c:885 [] get_signal+0x4f2/0x1550 kernel/signal.c:2317 [] do_signal+0x8b/0x1d40 arch/x86/kernel/signal.c:712 [] exit_to_usermode_loop+0x11a/0x160 arch/x86/entry/common.c:248 [] prepare_exit_to_usermode+0xe3/0x100 arch/x86/entry/common.c:283 [] retint_user+0x8/0x3c Code: 04 02 84 c0 74 08 3c 03 0f 8e b7 00 00 00 48 b8 00 00 00 00 00 fc ff df 45 8b 6d 10 4a 8d 3c ed 80 b9 7e 84 48 89 fa 48 c1 ea 03 <80> 3c 02 00 0f 85 be 00 00 00 4a 03 1c ed 80 b9 7e 84 48 b8 00 RIP [] task_curr kernel/sched/core.c:1023 [inline] RIP [] kick_process+0xdd/0x1c0 kernel/sched/core.c:1565 RSP ---[ end trace f4faafdcf295ff62 ]---