================================================================== BUG: KASAN: use-after-free in ip6_dst_idev include/net/ip6_fib.h:141 [inline] BUG: KASAN: use-after-free in ip6_xmit+0x177c/0x1a00 net/ipv6/ip6_output.c:237 Read of size 8 at addr ffff8801d0888798 by task syz-executor3/2108 CPU: 1 PID: 2108 Comm: syz-executor3 Not tainted 4.4.145-g2241aa9 #14 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 0000000000000000 400c51028307ef74 ffff88009c077598 ffffffff81e123cd ffffea0007422200 ffff8801d0888798 0000000000000000 ffff8801d0888798 0000000000001300 ffff88009c0775d0 ffffffff81517d66 ffff8801d0888798 Call Trace: [] __dump_stack lib/dump_stack.c:15 [inline] [] dump_stack+0xc1/0x124 lib/dump_stack.c:51 [] print_address_description+0x6c/0x216 mm/kasan/report.c:252 [] kasan_report_error mm/kasan/report.c:351 [inline] [] kasan_report.cold.7+0x175/0x2f7 mm/kasan/report.c:408 [] __asan_report_load8_noabort+0x14/0x20 mm/kasan/report.c:429 [] ip6_dst_idev include/net/ip6_fib.h:141 [inline] [] ip6_xmit+0x177c/0x1a00 net/ipv6/ip6_output.c:237 [] inet6_csk_xmit+0x245/0x490 net/ipv6/inet6_connection_sock.c:176 binder_alloc: 2120: binder_alloc_buf size 9007410781880320 failed, no address space binder_alloc: allocated: 0 (num: 0 largest: 0), free: 16384 (num: 1 largest: 16384) binder: 2120:2124 transaction failed 29201/-28, size 206158430208-9007204623450112 line 3137 [] l2tp_xmit_core net/l2tp/l2tp_core.c:1084 [inline] [] l2tp_xmit_skb+0xbeb/0xeb0 net/l2tp/l2tp_core.c:1179 [] pppol2tp_sendmsg+0x4e0/0x7d0 net/l2tp/l2tp_ppp.c:355 [] sock_sendmsg_nosec net/socket.c:625 [inline] [] sock_sendmsg+0xcc/0x110 net/socket.c:635 [] sock_write_iter+0x223/0x3b0 net/socket.c:834 [] do_iter_readv_writev+0x13c/0x1e0 fs/read_write.c:664 [] compat_do_readv_writev+0x2e2/0x6e0 fs/read_write.c:982 [] compat_writev+0xe1/0x150 fs/read_write.c:1090 [] C_SYSC_writev fs/read_write.c:1110 [inline] [] compat_SyS_writev+0xd8/0x1c0 fs/read_write.c:1099 [] do_syscall_32_irqs_on arch/x86/entry/common.c:393 [inline] [] do_fast_syscall_32+0x324/0x8b0 arch/x86/entry/common.c:460 [] sysenter_flags_fixed+0xd/0x1a Allocated by task 32185: [] 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+0xc7/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+0xbe/0x2a0 mm/slub.c:2628 [] dst_alloc+0xb5/0x1a0 net/core/dst.c:210 [] rt_dst_alloc+0x78/0x430 net/ipv4/route.c:1478 [] __mkroute_output net/ipv4/route.c:2132 [inline] [] __ip_route_output_key_hash+0x9ac/0x2380 net/ipv4/route.c:2344 [] __ip_route_output_key include/net/route.h:124 [inline] [] ip_route_output_flow+0x29/0xa0 net/ipv4/route.c:2431 [] ip_route_output_ports include/net/route.h:161 [inline] [] igmpv3_newpack+0x2a2/0xea0 net/ipv4/igmp.c:371 [] add_grhead.isra.31+0x235/0x300 net/ipv4/igmp.c:442 [] add_grec+0xca0/0xf00 net/ipv4/igmp.c:564 [] igmpv3_send_cr net/ipv4/igmp.c:693 [inline] [] igmp_ifc_timer_expire+0x3d9/0x8a0 net/ipv4/igmp.c:790 [] call_timer_fn+0x18c/0x870 kernel/time/timer.c:1185 [] __run_timers kernel/time/timer.c:1261 [inline] [] run_timer_softirq+0x642/0xb90 kernel/time/timer.c:1444 [] __do_softirq+0x22c/0xa1a kernel/softirq.c:273 Freed by task 3: [] 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+0xbe/0x340 mm/slub.c:2881 [] dst_destroy.part.6+0x1f5/0x330 net/core/dst.c:270 [] dst_destroy net/core/dst.c:252 [inline] [] dst_destroy_rcu+0x15/0x40 net/core/dst.c:295 [] __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+0x927/0x1440 kernel/rcu/tree.c:2957 [] __do_softirq+0x22c/0xa1a kernel/softirq.c:273 The buggy address belongs to the object at ffff8801d0888780 which belongs to the cache ip_dst_cache of size 208 The buggy address is located 24 bytes inside of 208-byte region [ffff8801d0888780, ffff8801d0888850) 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: 32407 Comm: kworker/u4:7 Not tainted 4.4.145-g2241aa9 #14 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: writeback wb_workfn (flush-8:0) task: ffff8801d9311800 task.stack: ffff8801ca748000 RIP: 0010:[] [] timerqueue_add+0xb8/0x2b0 lib/timerqueue.c:51 RSP: 0018:ffff8801db207d30 EFLAGS: 00010007 RAX: ffffed003b64339b RBX: ffff8801db219cc0 RCX: 0000000000000000 RDX: 000000001083e1e8 RSI: ffffffff81e2fd1c RDI: 00000000841f0f46 RBP: ffff8801db207d70 R08: 0000000000000096 R09: 0000000000000001 R10: 0000000000000000 R11: ffff8801d9311800 R12: dffffc0000000000 R13: 00000000841f0f2e R14: 0000007343478680 R15: ffffffff8148f2d7 FS: 0000000000000000(0000) GS:ffff8801db200000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000055ac1da04460 CR3: 00000000b3b17000 CR4: 00000000001606f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Stack: ffff8801db219cd8 ffff8801db219790 ffffed003b64339b ffff8801db219780 ffff8801db219cc0 ffff8801db2196c0 0000000000000005 0000000000000000 ffff8801db207da8 ffffffff8129d61f ffff8801db219cc0 0000000000000001 Call Trace: [] enqueue_hrtimer+0x15f/0x440 kernel/time/hrtimer.c:893 [] __run_hrtimer kernel/time/hrtimer.c:1276 [inline] [] __hrtimer_run_queues+0x6b2/0x1000 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+0xa0/0xb0 arch/x86/entry/entry_64.S:741 [] smp_call_function_many+0x5b9/0x710 kernel/smp.c:435 [] native_flush_tlb_others+0xfd/0x6e0 arch/x86/mm/tlb.c:325 [] flush_tlb_others arch/x86/include/asm/paravirt.h:338 [inline] [] flush_tlb_mm_range+0x10c/0x540 arch/x86/mm/tlb.c:391 [] flush_tlb_page arch/x86/include/asm/tlbflush.h:300 [inline] [] ptep_clear_flush+0xec/0x110 mm/pgtable-generic.c:80 [] page_mkclean_one+0x10c/0x1d0 mm/rmap.c:1015 [] rmap_walk_file mm/rmap.c:1673 [inline] [] rmap_walk+0x564/0xab0 mm/rmap.c:1692 [] page_mkclean+0x138/0x1b0 mm/rmap.c:1059 [] clear_page_dirty_for_io+0x1a9/0x3f0 mm/page-writeback.c:2677 [] mpage_submit_page+0x77/0x240 fs/ext4/inode.c:1973 [] mpage_process_page_bufs+0x3b2/0x490 fs/ext4/inode.c:2097 [] mpage_prepare_extent_to_map+0x449/0x8e0 fs/ext4/inode.c:2465 [] ext4_writepages+0xbb0/0x2c80 fs/ext4/inode.c:2619 [] do_writepages+0xef/0x1d0 mm/page-writeback.c:2334 [] __writeback_single_inode+0x101/0x1330 fs/fs-writeback.c:1285 [] writeback_sb_inodes+0x4ab/0xee0 fs/fs-writeback.c:1548 [] __writeback_inodes_wb+0xfb/0x1e0 fs/fs-writeback.c:1617 [] wb_writeback+0x529/0xd00 fs/fs-writeback.c:1726 [] wb_do_writeback fs/fs-writeback.c:1858 [inline] [] wb_workfn+0x245/0xf20 fs/fs-writeback.c:1894 [] process_one_work+0x7df/0x1600 kernel/workqueue.c:2064 [] worker_thread+0xd9/0xfc0 kernel/workqueue.c:2196 [] kthread+0x268/0x300 kernel/kthread.c:211 [] ret_from_fork+0x55/0x80 arch/x86/entry/entry_64.S:510 Code: 00 00 4d 8b 2f 4d 85 ed 74 3d e8 54 3a 52 ff 48 8b 45 d0 80 38 00 0f 85 96 01 00 00 49 8d 7d 18 4c 8b 73 18 48 89 fa 48 c1 ea 03 <42> 80 3c 22 00 0f 85 8a 01 00 00 4d 3b 75 18 7c a3 e8 22 3a 52 RIP [] timerqueue_add+0xb8/0x2b0 lib/timerqueue.c:51 RSP ---[ end trace db9a6222f478a803 ]---