================================================================== BUG: KASAN: use-after-free in ex_handler_refcount+0x18f/0x1c0 arch/x86/mm/extable.c:49 Write of size 4 at addr ffff8880a0d0d5d8 by task kworker/1:1/24 CPU: 1 PID: 24 Comm: kworker/1:1 Not tainted 4.19.136-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: events do_enable_set Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x1fc/0x2fe lib/dump_stack.c:118 print_address_description.cold+0x54/0x219 mm/kasan/report.c:256 kasan_report_error.cold+0x8a/0x1c7 mm/kasan/report.c:354 kasan_report mm/kasan/report.c:412 [inline] __asan_report_store4_noabort+0x88/0x90 mm/kasan/report.c:437 ex_handler_refcount+0x18f/0x1c0 arch/x86/mm/extable.c:49 fixup_exception+0x8a/0xc3 arch/x86/mm/extable.c:197 do_trap_no_signal arch/x86/kernel/traps.c:209 [inline] do_trap+0x61/0x250 arch/x86/kernel/traps.c:258 do_error_trap+0x15d/0x310 arch/x86/kernel/traps.c:303 invalid_op+0x14/0x20 arch/x86/entry/entry_64.S:1038 RIP: 0010:csum_partial_copy_generic+0x6074/0x7805 Code: 49 8d 8c 24 80 00 00 00 0f 0b 48 8d 8d 80 00 00 00 0f 0b 48 8d 8d 80 00 00 00 0f 0b 49 8d 8c 24 b8 02 00 00 0f 0b 48 8d 4d 18 <0f> 0b 48 8d 8d b8 02 00 00 0f 0b 48 8d 4b 18 0f 0b 48 8d 8d 80 00 RSP: 0018:ffff8880a94d7c20 EFLAGS: 00010297 RAX: ffff8880a94bc640 RBX: 0000000000000001 RCX: ffff8880a0d0d5d8 RDX: 0000000000000000 RSI: ffffffff86813650 RDI: ffff8880a0d0d5c0 RBP: ffff8880a0d0d5c0 R08: 0000000000000000 R09: 0000000000000008 R10: 0000000000000001 R11: 0000000000000000 R12: ffff8880ae72bb10 R13: ffff8880a942a400 R14: ffff8880ae72bac0 R15: ffff888094a25480 do_enable_set+0x4ef/0x975 net/bluetooth/6lowpan.c:1087 process_one_work+0x864/0x1570 kernel/workqueue.c:2155 worker_thread+0x64c/0x1130 kernel/workqueue.c:2298 kthread+0x30b/0x410 kernel/kthread.c:246 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:415 Allocated by task 24: kmem_cache_alloc_trace+0x12f/0x380 mm/slab.c:3625 kmalloc include/linux/slab.h:515 [inline] kzalloc include/linux/slab.h:709 [inline] l2cap_chan_create+0x40/0x380 net/bluetooth/l2cap_core.c:441 chan_create net/bluetooth/6lowpan.c:652 [inline] bt_6lowpan_listen net/bluetooth/6lowpan.c:971 [inline] do_enable_set+0x525/0x975 net/bluetooth/6lowpan.c:1090 process_one_work+0x864/0x1570 kernel/workqueue.c:2155 worker_thread+0x64c/0x1130 kernel/workqueue.c:2298 kthread+0x30b/0x410 kernel/kthread.c:246 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:415 Freed by task 14: __cache_free mm/slab.c:3503 [inline] kfree+0xcc/0x210 mm/slab.c:3822 l2cap_chan_destroy net/bluetooth/l2cap_core.c:479 [inline] kref_put include/linux/kref.h:70 [inline] l2cap_chan_put+0x16b/0x1c0 net/bluetooth/l2cap_core.c:493 do_enable_set+0x4ef/0x975 net/bluetooth/6lowpan.c:1087 process_one_work+0x864/0x1570 kernel/workqueue.c:2155 worker_thread+0x64c/0x1130 kernel/workqueue.c:2298 kthread+0x30b/0x410 kernel/kthread.c:246 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:415 The buggy address belongs to the object at ffff8880a0d0d5c0 which belongs to the cache kmalloc-2048 of size 2048 The buggy address is located 24 bytes inside of 2048-byte region [ffff8880a0d0d5c0, ffff8880a0d0ddc0) The buggy address belongs to the page: page:ffffea0002834300 count:1 mapcount:0 mapping:ffff88812c39cc40 index:0x0 compound_mapcount: 0 flags: 0xfffe0000008100(slab|head) raw: 00fffe0000008100 ffffea00028d3188 ffffea00028ec888 ffff88812c39cc40 raw: 0000000000000000 ffff8880a0d0c4c0 0000000100000003 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff8880a0d0d480: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff8880a0d0d500: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc >ffff8880a0d0d580: fc fc fc fc fc fc fc fc fb fb fb fb fb fb fb fb ^ ffff8880a0d0d600: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8880a0d0d680: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ==================================================================