Bluetooth: hci0: Entering manufacturer mode failed (-110) ================================================================== BUG: KASAN: use-after-free in hci_cmd_timeout+0x1ae/0x1c0 net/bluetooth/hci_core.c:2574 Read of size 2 at addr ffff88809ab0c0c8 by task kworker/0:3/549 CPU: 0 PID: 549 Comm: kworker/0:3 Not tainted 4.19.132-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: events hci_cmd_timeout 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_load_n_noabort+0x8b/0xa0 mm/kasan/report.c:443 hci_cmd_timeout+0x1ae/0x1c0 net/bluetooth/hci_core.c:2574 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 30326: __do_kmalloc_node mm/slab.c:3689 [inline] __kmalloc_node_track_caller+0x4c/0x70 mm/slab.c:3703 __kmalloc_reserve net/core/skbuff.c:137 [inline] __alloc_skb+0xae/0x560 net/core/skbuff.c:205 alloc_skb include/linux/skbuff.h:995 [inline] bt_skb_alloc include/net/bluetooth/bluetooth.h:339 [inline] hci_prepare_cmd+0x2a/0x220 net/bluetooth/hci_request.c:292 hci_req_add_ev+0xa2/0x1f0 net/bluetooth/hci_request.c:326 __hci_cmd_sync_ev net/bluetooth/hci_request.c:138 [inline] __hci_cmd_sync+0xd0/0x1a0 net/bluetooth/hci_request.c:187 btintel_enter_mfg+0x2a/0x90 drivers/bluetooth/btintel.c:82 ag6xx_setup+0xfc/0x790 drivers/bluetooth/hci_ag6xx.c:180 hci_uart_setup+0x1b1/0x470 drivers/bluetooth/hci_ldisc.c:431 hci_dev_do_open+0x342/0x12b0 net/bluetooth/hci_core.c:1423 hci_power_on+0x101/0x4f0 net/bluetooth/hci_core.c:2130 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 30326: __cache_free mm/slab.c:3503 [inline] kfree+0xcc/0x210 mm/slab.c:3822 skb_free_head net/core/skbuff.c:554 [inline] skb_release_data+0x6de/0x920 net/core/skbuff.c:574 skb_release_all net/core/skbuff.c:631 [inline] __kfree_skb net/core/skbuff.c:645 [inline] kfree_skb+0x11a/0x3d0 net/core/skbuff.c:663 hci_dev_do_open+0xa3b/0x12b0 net/bluetooth/hci_core.c:1509 hci_power_on+0x101/0x4f0 net/bluetooth/hci_core.c:2130 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 ffff88809ab0c0c0 which belongs to the cache kmalloc-512 of size 512 The buggy address is located 8 bytes inside of 512-byte region [ffff88809ab0c0c0, ffff88809ab0c2c0) The buggy address belongs to the page: page:ffffea00026ac300 count:1 mapcount:0 mapping:ffff88812c39c940 index:0x0 flags: 0xfffe0000000100(slab) raw: 00fffe0000000100 ffffea0002358648 ffffea00022498c8 ffff88812c39c940 raw: 0000000000000000 ffff88809ab0c0c0 0000000100000006 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff88809ab0bf80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff88809ab0c000: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc >ffff88809ab0c080: fc fc fc fc fc fc fc fc fb fb fb fb fb fb fb fb ^ ffff88809ab0c100: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff88809ab0c180: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ==================================================================