================================================================== BUG: KASAN: use-after-free in tcp_skb_pcount include/net/tcp.h:798 [inline] BUG: KASAN: use-after-free in tcp_init_tso_segs net/ipv4/tcp_output.c:1631 [inline] BUG: KASAN: use-after-free in tcp_write_xmit+0x3b22/0x4680 net/ipv4/tcp_output.c:2068 Read of size 2 at addr ffff8800b65a11b0 by task syz-executor0/2579 CPU: 1 PID: 2579 Comm: syz-executor0 Not tainted 4.4.162+ #7 0000000000000000 792b7806a596f9ac ffff8801ceac7838 ffffffff81a994bd ffffea0002d96800 ffff8800b65a11b0 0000000000000000 ffff8800b65a11b0 dffffc0000000000 ffff8801ceac7870 ffffffff8148a669 ffff8800b65a11b0 Call Trace: [] __dump_stack lib/dump_stack.c:15 [inline] [] dump_stack+0xc1/0x124 lib/dump_stack.c:51 [] print_address_description+0x6c/0x217 mm/kasan/report.c:252 [] kasan_report_error mm/kasan/report.c:351 [inline] [] kasan_report.cold.6+0x175/0x2f7 mm/kasan/report.c:408 [] __asan_report_load2_noabort+0x14/0x20 mm/kasan/report.c:427 [] tcp_skb_pcount include/net/tcp.h:798 [inline] [] tcp_init_tso_segs net/ipv4/tcp_output.c:1631 [inline] [] tcp_write_xmit+0x3b22/0x4680 net/ipv4/tcp_output.c:2068 [] __tcp_push_pending_frames+0xa4/0x2a0 net/ipv4/tcp_output.c:2319 [] tcp_send_fin+0x176/0xab0 net/ipv4/tcp_output.c:2895 [] tcp_close+0xc97/0xf60 net/ipv4/tcp.c:2112 [] inet_release+0xff/0x1d0 net/ipv4/af_inet.c:435 [] __sock_release+0xd9/0x260 net/socket.c:592 [] sock_close+0x19/0x20 net/socket.c:1050 [] __fput+0x235/0x6f0 fs/file_table.c:208 [] ____fput+0x15/0x20 fs/file_table.c:244 [] task_work_run+0x10f/0x190 kernel/task_work.c:115 [] get_signal+0x1182/0x14a0 kernel/signal.c:2151 [] do_signal+0x95/0x1840 arch/x86/kernel/signal.c:712 [] exit_to_usermode_loop+0x11a/0x160 arch/x86/entry/common.c:250 [] prepare_exit_to_usermode arch/x86/entry/common.c:287 [inline] [] syscall_return_slowpath arch/x86/entry/common.c:352 [inline] [] do_syscall_32_irqs_on arch/x86/entry/common.c:402 [inline] [] do_fast_syscall_32+0x792/0xa80 arch/x86/entry/common.c:463 [] sysenter_flags_fixed+0xd/0x1a Allocated by task 2577: [] save_stack_trace+0x26/0x50 arch/x86/kernel/stacktrace.c:63 [] save_stack mm/kasan/kasan.c:512 [inline] [] set_track mm/kasan/kasan.c:524 [inline] [] kasan_kmalloc.part.1+0x62/0xf0 mm/kasan/kasan.c:616 [] kasan_kmalloc+0xaf/0xc0 mm/kasan/kasan.c:601 [] 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+0xdc/0x2c0 mm/slub.c:2628 [] kmem_cache_alloc_node include/linux/slab.h:350 [inline] [] __alloc_skb+0xe6/0x5b0 net/core/skbuff.c:218 [] alloc_skb_fclone include/linux/skbuff.h:856 [inline] [] sk_stream_alloc_skb+0xa3/0x5d0 net/ipv4/tcp.c:833 [] tcp_sendmsg+0xf81/0x2b30 net/ipv4/tcp.c:1178 [] inet_sendmsg+0x203/0x4d0 net/ipv4/af_inet.c:755 [] sock_sendmsg_nosec net/socket.c:638 [inline] [] sock_sendmsg+0xbb/0x110 net/socket.c:648 [] SYSC_sendto net/socket.c:1678 [inline] [] SyS_sendto+0x220/0x370 net/socket.c:1646 [] do_syscall_32_irqs_on arch/x86/entry/common.c:396 [inline] [] do_fast_syscall_32+0x31e/0xa80 arch/x86/entry/common.c:463 [] sysenter_flags_fixed+0xd/0x1a Freed by task 2578: [] save_stack_trace+0x26/0x50 arch/x86/kernel/stacktrace.c:63 [] save_stack mm/kasan/kasan.c:512 [inline] [] set_track mm/kasan/kasan.c:524 [inline] [] kasan_slab_free+0xac/0x190 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+0xbe/0x340 mm/slub.c:2881 [] kfree_skbmem+0xcf/0x100 net/core/skbuff.c:635 [] __kfree_skb+0x1d/0x20 net/core/skbuff.c:676 [] sk_wmem_free_skb include/net/sock.h:1447 [inline] [] tcp_write_queue_purge include/net/tcp.h:1460 [inline] [] tcp_connect_init net/ipv4/tcp_output.c:3134 [inline] [] tcp_connect+0xae9/0x3110 net/ipv4/tcp_output.c:3273 [] tcp_v4_connect+0xf31/0x1890 net/ipv4/tcp_ipv4.c:246 [] __inet_stream_connect+0x2a9/0xc30 net/ipv4/af_inet.c:615 [] tcp_sendmsg_fastopen net/ipv4/tcp.c:1092 [inline] [] tcp_sendmsg+0x1a07/0x2b30 net/ipv4/tcp.c:1112 [] inet_sendmsg+0x203/0x4d0 net/ipv4/af_inet.c:755 [] sock_sendmsg_nosec net/socket.c:638 [inline] [] sock_sendmsg+0xbb/0x110 net/socket.c:648 [] SYSC_sendto net/socket.c:1678 [inline] [] SyS_sendto+0x220/0x370 net/socket.c:1646 [] do_syscall_32_irqs_on arch/x86/entry/common.c:396 [inline] [] do_fast_syscall_32+0x31e/0xa80 arch/x86/entry/common.c:463 [] sysenter_flags_fixed+0xd/0x1a The buggy address belongs to the object at ffff8800b65a1180 which belongs to the cache skbuff_fclone_cache of size 456 The buggy address is located 48 bytes inside of 456-byte region [ffff8800b65a1180, ffff8800b65a1348) The buggy address belongs to the page: BUG: spinlock bad magic on CPU#0, syz-executor0/2135 lock: 0xffff8801ce9d6808, .magic: ffffea00, .owner: oO_B/-1235610808, .owner_cpu: 0 BUG: unable to handle kernel paging request at fffffffd35eab940 IP: [] cpuacct_charge+0x155/0x380 kernel/sched/cpuacct.c:247 PGD 2e0d067 PUD 0 Oops: 0000 [#1] PREEMPT SMP KASAN Modules linked in: CPU: 0 PID: 2135 Comm: syz-executor0 Not tainted 4.4.162+ #7 task: ffff8800b5b0af80 task.stack: ffff8801d2fd8000 RIP: 0010:[] [] cpuacct_charge+0x155/0x380 kernel/sched/cpuacct.c:247 RSP: 0018:ffff8801db607968 EFLAGS: 00010046 RAX: 1ffffffff05d2a0b RBX: 00000000000181a8 RCX: ffffffff831a1f00 RDX: fffffbffa6bd5728 RSI: fffffffd35eab940 RDI: ffffffff82e95058 RBP: ffff8801db6079a8 R08: 0000000000000000 R09: 0000000000000000 R10: ffffed0043fffa01 R11: 0000001f66ce7156 R12: ffffffff82e94f80 R13: dffffc0000000000 R14: 000000001d62ed92 R15: ffffffffb65a1348 FS: 0000000000000000(0000) GS:ffff8801db600000(0000) knlGS:0000000000000000 CS: 0010 DS: 002b ES: 002b CR0: 0000000080050033 CR2: fffffffd35eab940 CR3: 0000000002e0a000 CR4: 00000000001606b0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Stack: ffffffff811f0940 0000000082e15aa9 ffffffff82e15ab0 ffff8800b3a88060 ffff8800b3a88000 000000001d62ed92 ffff8800b3a880b0 0000000000000000 ffff8801db6079f0 ffffffff8117c219 0000000000000008 0000000000000000 Call Trace: [] update_curr+0x2c9/0x6d0 kernel/sched/fair.c:882 [] enqueue_entity kernel/sched/fair.c:3512 [inline] [] enqueue_task_fair+0x12a/0xab90 kernel/sched/fair.c:4695 [] enqueue_task kernel/sched/core.c:858 [inline] [] activate_task+0x1dd/0x280 kernel/sched/core.c:874 [] ttwu_activate kernel/sched/core.c:1736 [inline] [] ttwu_do_activate.constprop.29+0xbf/0x1e0 kernel/sched/core.c:1789 [] ttwu_queue kernel/sched/core.c:1934 [inline] [] try_to_wake_up+0x6dd/0x1120 kernel/sched/core.c:2068 [] default_wake_function+0x35/0x50 kernel/sched/core.c:3494 [] autoremove_wake_function+0x11/0x40 kernel/sched/wait.c:293 [] __wake_up_common+0xb6/0x150 kernel/sched/wait.c:73 [] __wake_up+0x34/0x50 kernel/sched/wait.c:95 [] wake_up_klogd_work_func+0x80/0x90 kernel/printk/printk.c:2736 [] irq_work_run_list+0xd7/0x140 kernel/irq_work.c:156 [] irq_work_tick+0x116/0x170 kernel/irq_work.c:182 [] update_process_times+0x69/0x70 kernel/time/timer.c:1430 [] tick_sched_handle.isra.6+0x4a/0xf0 kernel/time/tick-sched.c:151 [] tick_sched_timer+0x76/0x130 kernel/time/tick-sched.c:1097 [] __run_hrtimer kernel/time/hrtimer.c:1261 [inline] [] __hrtimer_run_queues+0x390/0xfc0 kernel/time/hrtimer.c:1325 [] hrtimer_interrupt+0x1b1/0x430 kernel/time/hrtimer.c:1359 [] local_apic_timer_interrupt+0x74/0xa0 arch/x86/kernel/apic/apic.c:901 [] smp_apic_timer_interrupt+0x7c/0xa0 arch/x86/kernel/apic/apic.c:925 [] apic_timer_interrupt+0x9d/0xb0 arch/x86/entry/entry_64.S:741 [] vprintk_emit+0x3f5/0x830 kernel/printk/printk.c:1832 [] vprintk+0x28/0x30 kernel/printk/printk.c:1843 [] vprintk_default+0x1d/0x30 kernel/printk/printk.c:1844 [] printk+0xaf/0xd7 kernel/printk/printk.c:1922 [] spin_dump+0x15b/0x169 kernel/locking/spinlock_debug.c:61 [] spin_bug kernel/locking/spinlock_debug.c:75 [inline] [] debug_spin_lock_before kernel/locking/spinlock_debug.c:83 [inline] [] do_raw_spin_lock.cold.1+0x75/0x7a kernel/locking/spinlock_debug.c:135 [] __raw_spin_lock include/linux/spinlock_api_smp.h:145 [inline] [] _raw_spin_lock+0x3e/0x50 kernel/locking/spinlock.c:151 [] spin_lock include/linux/spinlock.h:302 [inline] [] exit_fs+0x6a/0x120 fs/fs_struct.c:102 [] do_exit+0x99f/0x28d0 kernel/exit.c:751 [] do_group_exit+0x111/0x300 kernel/exit.c:885 [] SYSC_exit_group kernel/exit.c:896 [inline] [] SyS_exit_group+0x1d/0x20 kernel/exit.c:894 [] do_syscall_32_irqs_on arch/x86/entry/common.c:396 [inline] [] do_fast_syscall_32+0x31e/0xa80 arch/x86/entry/common.c:463 [] sysenter_flags_fixed+0xd/0x1a Code: 49 8d bc 24 d8 00 00 00 48 89 f8 48 c1 e8 03 42 80 3c 28 00 0f 85 c4 01 00 00 49 8b 9c 24 d8 00 00 00 80 3a 00 0f 85 8f 01 00 00 <4a> 03 1c f9 48 89 d8 48 c1 e8 03 42 80 3c 28 00 0f 85 be 01 00 RIP [] cpuacct_charge+0x155/0x380 kernel/sched/cpuacct.c:247 RSP CR2: fffffffd35eab940 ---[ end trace 79f5e977a538cf3a ]---