binder: release 5318:5324 transaction 11 in, still active binder: send failed reply for transaction 11 to 5318:5324 ================================================================== BUG: KASAN: use-after-free in __list_del_entry+0x196/0x1d0 lib/list_debug.c:60 Read of size 8 at addr ffff8801d03b4d10 by task kworker/0:2/1802 CPU: 0 PID: 1802 Comm: kworker/0:2 Not tainted 4.9.86-gb324a70 #58 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: events binder_deferred_func ffff8801cefafa50 ffffffff81d956f9 ffffea000740ed00 ffff8801d03b4d10 0000000000000000 ffff8801d03b4d10 ffffed00367c9999 ffff8801cefafa88 ffffffff8153e083 ffff8801d03b4d10 0000000000000008 0000000000000000 Call Trace: netlink: 6 bytes leftover after parsing attributes in process `syz-executor2'. audit: type=1400 audit(1520298208.825:11): avc: denied { create } for pid=5354 comm="syz-executor1" scontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tcontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tclass=netlink_netfilter_socket permissive=1 audit: type=1400 audit(1520298208.825:12): avc: denied { write } for pid=5354 comm="syz-executor1" scontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tcontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tclass=netlink_netfilter_socket permissive=1 netlink: 6 bytes leftover after parsing attributes in process `syz-executor2'. syz-executor1 uses obsolete (PF_INET,SOCK_PACKET) audit: type=1400 audit(1520298208.825:13): avc: denied { net_raw } for pid=5371 comm="syz-executor1" capability=13 scontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tcontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tclass=cap_userns permissive=1 [] __dump_stack lib/dump_stack.c:15 [inline] [] dump_stack+0xc1/0x128 lib/dump_stack.c:51 [] print_address_description+0x73/0x280 mm/kasan/report.c:252 [] kasan_report_error mm/kasan/report.c:351 [inline] [] kasan_report+0x275/0x360 mm/kasan/report.c:408 [] __asan_report_load8_noabort+0x14/0x20 mm/kasan/report.c:429 [] __list_del_entry+0x196/0x1d0 lib/list_debug.c:60 [] list_del_init include/linux/list.h:145 [inline] [] binder_dequeue_work_head_ilocked drivers/android/binder.c:913 [inline] [] binder_dequeue_work_head drivers/android/binder.c:933 [inline] [] binder_release_work+0x8c/0x260 drivers/android/binder.c:4355 [] binder_thread_release+0x428/0x600 drivers/android/binder.c:4563 [] binder_deferred_release drivers/android/binder.c:5104 [inline] [] binder_deferred_func+0x43f/0xd10 drivers/android/binder.c:5176 [] process_one_work+0x7e0/0x1610 kernel/workqueue.c:2092 [] worker_thread+0xe0/0x10d0 kernel/workqueue.c:2226 [] kthread+0x26d/0x300 kernel/kthread.c:211 [] ret_from_fork+0x5c/0x70 arch/x86/entry/entry_64.S:374 Allocated by task 5324: save_stack_trace+0x16/0x20 arch/x86/kernel/stacktrace.c:57 save_stack+0x43/0xd0 mm/kasan/kasan.c:505 set_track mm/kasan/kasan.c:517 [inline] kasan_kmalloc+0xad/0xe0 mm/kasan/kasan.c:609 kmem_cache_alloc_trace+0xfb/0x2a0 mm/slub.c:2742 kmalloc include/linux/slab.h:490 [inline] kzalloc include/linux/slab.h:636 [inline] binder_transaction+0x103c/0x7040 drivers/android/binder.c:3056 binder_thread_write+0x8d4/0x31f0 drivers/android/binder.c:3679 binder_ioctl_write_read.isra.55+0x1ed/0x9a0 drivers/android/binder.c:4618 binder_ioctl+0xaea/0x11b0 drivers/android/binder.c:4757 C_SYSC_ioctl fs/compat_ioctl.c:1602 [inline] compat_SyS_ioctl+0x15f/0x2050 fs/compat_ioctl.c:1549 do_syscall_32_irqs_on arch/x86/entry/common.c:325 [inline] do_fast_syscall_32+0x2f5/0x870 arch/x86/entry/common.c:387 entry_SYSENTER_compat+0x90/0xa2 arch/x86/entry/entry_64_compat.S:137 Freed by task 1802: save_stack_trace+0x16/0x20 arch/x86/kernel/stacktrace.c:57 save_stack+0x43/0xd0 mm/kasan/kasan.c:505 set_track mm/kasan/kasan.c:517 [inline] kasan_slab_free+0x72/0xc0 mm/kasan/kasan.c:582 slab_free_hook mm/slub.c:1355 [inline] slab_free_freelist_hook mm/slub.c:1377 [inline] slab_free mm/slub.c:2958 [inline] kfree+0x103/0x300 mm/slub.c:3878 binder_free_transaction+0x6a/0x90 drivers/android/binder.c:2122 binder_send_failed_reply+0x185/0x3a0 drivers/android/binder.c:2155 binder_thread_release+0x416/0x600 drivers/android/binder.c:4562 binder_deferred_release drivers/android/binder.c:5104 [inline] binder_deferred_func+0x43f/0xd10 drivers/android/binder.c:5176 process_one_work+0x7e0/0x1610 kernel/workqueue.c:2092 worker_thread+0xe0/0x10d0 kernel/workqueue.c:2226 kthread+0x26d/0x300 kernel/kthread.c:211 ret_from_fork+0x5c/0x70 arch/x86/entry/entry_64.S:374 The buggy address belongs to the object at ffff8801d03b4d00 which belongs to the cache kmalloc-192 of size 192 The buggy address is located 16 bytes inside of 192-byte region [ffff8801d03b4d00, ffff8801d03b4dc0) The buggy address belongs to the page: page:ffffea000740ed00 count:1 mapcount:0 mapping: (null) index:0x0 flags: 0x8000000000000080(slab) page dumped because: kasan: bad access detected Memory state around the buggy address: ffff8801d03b4c00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8801d03b4c80: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc >ffff8801d03b4d00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff8801d03b4d80: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc ffff8801d03b4e00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ==================================================================