================================================================== BUG: KASAN: use-after-free in l2tp_session_queue_purge+0xf4/0x100 net/l2tp/l2tp_core.c:830 Read of size 4 at addr ffff8800b513c000 by task syz-executor934/3795 CPU: 0 PID: 3795 Comm: syz-executor934 Not tainted 4.4.132-g4f75c34 #43 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 0000000000000000 d50ca50e793c2493 ffff8801cd17fb50 ffffffff81e0df8d ffffea0002d44f00 ffff8800b513c000 0000000000000000 ffff8800b513c000 ffffffff82f18e30 ffff8801cd17fb88 ffffffff8151526c ffff8800b513c000 Call Trace: [<ffffffff81e0df8d>] __dump_stack lib/dump_stack.c:15 [inline] [<ffffffff81e0df8d>] dump_stack+0xc1/0x124 lib/dump_stack.c:51 [<ffffffff8151526c>] print_address_description+0x6c/0x216 mm/kasan/report.c:252 [<ffffffff8151558b>] kasan_report_error mm/kasan/report.c:351 [inline] [<ffffffff8151558b>] kasan_report.cold.7+0x175/0x2f7 mm/kasan/report.c:408 [<ffffffff814f9064>] __asan_report_load4_noabort+0x14/0x20 mm/kasan/report.c:428 [<ffffffff835988b4>] l2tp_session_queue_purge+0xf4/0x100 net/l2tp/l2tp_core.c:830 [<ffffffff835a53ef>] pppol2tp_release+0x1ff/0x310 net/l2tp/l2tp_ppp.c:509 [<ffffffff82f18d06>] sock_release+0x96/0x1c0 net/socket.c:586 [<ffffffff82f18e46>] sock_close+0x16/0x20 net/socket.c:1037 [<ffffffff81522655>] __fput+0x235/0x6f0 fs/file_table.c:208 [<ffffffff81522b95>] ____fput+0x15/0x20 fs/file_table.c:244 [<ffffffff8118bb8f>] task_work_run+0x10f/0x190 kernel/task_work.c:115 [<ffffffff81135175>] exit_task_work include/linux/task_work.h:21 [inline] [<ffffffff81135175>] do_exit+0x9e5/0x26b0 kernel/exit.c:759 [<ffffffff8113b0c1>] do_group_exit+0x111/0x330 kernel/exit.c:889 [<ffffffff8113b2fd>] SYSC_exit_group kernel/exit.c:900 [inline] [<ffffffff8113b2fd>] SyS_exit_group+0x1d/0x20 kernel/exit.c:898 [<ffffffff838c0225>] entry_SYSCALL_64_fastpath+0x22/0x9e Allocated by task 3793: [<ffffffff810341d6>] save_stack_trace+0x26/0x50 arch/x86/kernel/stacktrace.c:63 [<ffffffff814f8133>] save_stack+0x43/0xd0 mm/kasan/kasan.c:512 [<ffffffff814f8417>] set_track mm/kasan/kasan.c:524 [inline] [<ffffffff814f8417>] kasan_kmalloc+0xc7/0xe0 mm/kasan/kasan.c:616 [<ffffffff814f4b34>] __kmalloc+0x124/0x310 mm/slub.c:3613 [<ffffffff8359dcf9>] kmalloc include/linux/slab.h:481 [inline] [<ffffffff8359dcf9>] kzalloc include/linux/slab.h:620 [inline] [<ffffffff8359dcf9>] l2tp_session_create+0x39/0x1030 net/l2tp/l2tp_core.c:1748 [<ffffffff835a2a00>] pppol2tp_connect+0x10f0/0x1910 net/l2tp/l2tp_ppp.c:725 [<ffffffff82f1d728>] SYSC_connect+0x1b8/0x300 net/socket.c:1557 [<ffffffff82f20064>] SyS_connect+0x24/0x30 net/socket.c:1538 [<ffffffff838c0225>] entry_SYSCALL_64_fastpath+0x22/0x9e Freed by task 3760: [<ffffffff810341d6>] save_stack_trace+0x26/0x50 arch/x86/kernel/stacktrace.c:63 [<ffffffff814f8133>] save_stack+0x43/0xd0 mm/kasan/kasan.c:512 [<ffffffff814f8a62>] set_track mm/kasan/kasan.c:524 [inline] [<ffffffff814f8a62>] kasan_slab_free+0x72/0xc0 mm/kasan/kasan.c:589 [<ffffffff814f5f64>] slab_free_hook mm/slub.c:1383 [inline] [<ffffffff814f5f64>] slab_free_freelist_hook mm/slub.c:1405 [inline] [<ffffffff814f5f64>] slab_free mm/slub.c:2859 [inline] [<ffffffff814f5f64>] kfree+0xf4/0x310 mm/slub.c:3749 [<ffffffff8359ac60>] l2tp_session_free+0x170/0x200 net/l2tp/l2tp_core.c:1676 [<ffffffff8359d019>] l2tp_session_dec_refcount_1 net/l2tp/l2tp_core.h:293 [inline] [<ffffffff8359d019>] l2tp_tunnel_closeall+0x2b9/0x350 net/l2tp/l2tp_core.c:1279 [<ffffffff8359db2b>] l2tp_udp_encap_destroy+0x8b/0xf0 net/l2tp/l2tp_core.c:1300 [<ffffffff83490121>] udpv6_destroy_sock+0xb1/0xd0 net/ipv6/udp.c:1421 [<ffffffff82f2e5dd>] sk_common_release+0x6d/0x300 net/core/sock.c:2680 [<ffffffff8348edd5>] udp_lib_close+0x15/0x20 include/net/udp.h:190 [<ffffffff832f6aaf>] inet_release+0xff/0x1d0 net/ipv4/af_inet.c:435 [<ffffffff83419640>] inet6_release+0x50/0x70 net/ipv6/af_inet6.c:424 [<ffffffff82f18d06>] sock_release+0x96/0x1c0 net/socket.c:586 [<ffffffff82f18e46>] sock_close+0x16/0x20 net/socket.c:1037 [<ffffffff81522655>] __fput+0x235/0x6f0 fs/file_table.c:208 [<ffffffff81522b95>] ____fput+0x15/0x20 fs/file_table.c:244 [<ffffffff8118bb8f>] task_work_run+0x10f/0x190 kernel/task_work.c:115 [<ffffffff81135175>] exit_task_work include/linux/task_work.h:21 [inline] [<ffffffff81135175>] do_exit+0x9e5/0x26b0 kernel/exit.c:759 [<ffffffff8113b0c1>] do_group_exit+0x111/0x330 kernel/exit.c:889 [<ffffffff8113b2fd>] SYSC_exit_group kernel/exit.c:900 [inline] [<ffffffff8113b2fd>] SyS_exit_group+0x1d/0x20 kernel/exit.c:898 [<ffffffff838c0225>] entry_SYSCALL_64_fastpath+0x22/0x9e The buggy address belongs to the object at ffff8800b513c000 which belongs to the cache kmalloc-512 of size 512 The buggy address is located 0 bytes inside of 512-byte region [ffff8800b513c000, ffff8800b513c200) The buggy address belongs to the page: ------------[ cut here ]------------ WARNING: CPU: 1 PID: 3814 at lib/list_debug.c:62 __list_del_entry+0x162/0x1c0 lib/list_debug.c:60() list_del corruption. next->prev should be ffff8801d60177b0, but was ffffffff8148c9a7