================================================================== BUG: KASAN: slab-out-of-bounds in hci_extended_inquiry_result_evt net/bluetooth/hci_event.c:4394 [inline] BUG: KASAN: slab-out-of-bounds in hci_event_packet+0x306e/0x9d9b net/bluetooth/hci_event.c:6115 Read of size 6 at addr ffff88809e204a06 by task kworker/u5:1/30066 CPU: 0 PID: 30066 Comm: kworker/u5:1 Not tainted 5.7.0-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: hci32 hci_rx_work Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x188/0x20d lib/dump_stack.c:118 print_address_description.constprop.0.cold+0xd3/0x413 mm/kasan/report.c:383 __kasan_report mm/kasan/report.c:513 [inline] kasan_report.cold+0x1f/0x37 mm/kasan/report.c:530 check_memory_region_inline mm/kasan/generic.c:186 [inline] check_memory_region+0x141/0x190 mm/kasan/generic.c:192 memcpy+0x20/0x60 mm/kasan/common.c:105 hci_extended_inquiry_result_evt net/bluetooth/hci_event.c:4394 [inline] hci_event_packet+0x306e/0x9d9b net/bluetooth/hci_event.c:6115 hci_rx_work+0x239/0xb30 net/bluetooth/hci_core.c:4705 process_one_work+0x965/0x16a0 kernel/workqueue.c:2268 worker_thread+0x96/0xe20 kernel/workqueue.c:2414 kthread+0x388/0x470 kernel/kthread.c:268 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:351 Allocated by task 13721: save_stack+0x1b/0x40 mm/kasan/common.c:48 set_track mm/kasan/common.c:56 [inline] __kasan_kmalloc mm/kasan/common.c:494 [inline] __kasan_kmalloc.constprop.0+0xbf/0xd0 mm/kasan/common.c:467 __kmalloc_reserve.isra.0+0x39/0xe0 net/core/skbuff.c:142 __alloc_skb+0xef/0x5a0 net/core/skbuff.c:210 alloc_skb include/linux/skbuff.h:1083 [inline] bt_skb_alloc include/net/bluetooth/bluetooth.h:377 [inline] vhci_get_user drivers/bluetooth/hci_vhci.c:165 [inline] vhci_write+0xbd/0x450 drivers/bluetooth/hci_vhci.c:285 call_write_iter include/linux/fs.h:1917 [inline] new_sync_write+0x426/0x650 fs/read_write.c:484 __vfs_write+0xc9/0x100 fs/read_write.c:497 vfs_write+0x268/0x5d0 fs/read_write.c:559 ksys_write+0x12d/0x250 fs/read_write.c:612 do_syscall_64+0xf6/0x7d0 arch/x86/entry/common.c:295 entry_SYSCALL_64_after_hwframe+0x49/0xb3 Freed by task 1: save_stack+0x1b/0x40 mm/kasan/common.c:48 set_track mm/kasan/common.c:56 [inline] kasan_set_free_info mm/kasan/common.c:316 [inline] __kasan_slab_free+0xf7/0x140 mm/kasan/common.c:455 __cache_free mm/slab.c:3426 [inline] kfree+0x109/0x2b0 mm/slab.c:3757 skb_free_head+0x8b/0xa0 net/core/skbuff.c:590 skb_release_data+0x42e/0x8b0 net/core/skbuff.c:610 skb_release_all+0x46/0x60 net/core/skbuff.c:664 __kfree_skb net/core/skbuff.c:678 [inline] kfree_skb net/core/skbuff.c:696 [inline] kfree_skb+0xfa/0x410 net/core/skbuff.c:690 unix_stream_connect+0x135e/0x1485 net/unix/af_unix.c:1417 __sys_connect_file+0x155/0x1a0 net/socket.c:1854 __sys_connect+0x160/0x190 net/socket.c:1871 __do_sys_connect net/socket.c:1882 [inline] __se_sys_connect net/socket.c:1879 [inline] __x64_sys_connect+0x6f/0xb0 net/socket.c:1879 do_syscall_64+0xf6/0x7d0 arch/x86/entry/common.c:295 entry_SYSCALL_64_after_hwframe+0x49/0xb3 The buggy address belongs to the object at ffff88809e204800 which belongs to the cache kmalloc-512 of size 512 The buggy address is located 6 bytes to the right of 512-byte region [ffff88809e204800, ffff88809e204a00) The buggy address belongs to the page: page:ffffea0002788100 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 flags: 0xfffe0000000200(slab) raw: 00fffe0000000200 ffffea0002a31d88 ffffea00029f99c8 ffff8880aa000a80 raw: 0000000000000000 ffff88809e204000 0000000100000004 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff88809e204900: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffff88809e204980: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >ffff88809e204a00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ^ ffff88809e204a80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff88809e204b00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ==================================================================