BUG: KASAN: use-after-free in p54u_load_firmware_cb.cold+0x97/0x13d drivers/net/wireless/intersil/p54/p54usb.c:933 Read of size 8 at addr ffff8881c7f8b568 by task kworker/1:3/2777 CPU: 1 PID: 2777 Comm: kworker/1:3 Not tainted 5.2.0-rc6+ #15 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: events request_firmware_work_func Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0xca/0x13e lib/dump_stack.c:113 print_address_description+0x67/0x231 mm/kasan/report.c:188 __kasan_report.cold+0x1a/0x32 mm/kasan/report.c:317 kasan_report+0xe/0x20 mm/kasan/common.c:614 p54u_load_firmware_cb.cold+0x97/0x13d drivers/net/wireless/intersil/p54/p54usb.c:933 request_firmware_work_func+0x126/0x242 drivers/base/firmware_loader/main.c:785 process_one_work+0x905/0x1570 kernel/workqueue.c:2269 worker_thread+0x96/0xe20 kernel/workqueue.c:2415 kthread+0x30b/0x410 kernel/kthread.c:255 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:352 Allocated by task 1738: save_stack+0x1b/0x80 mm/kasan/common.c:71 set_track mm/kasan/common.c:79 [inline] __kasan_kmalloc mm/kasan/common.c:489 [inline] __kasan_kmalloc.constprop.0+0xbf/0xd0 mm/kasan/common.c:462 slab_post_alloc_hook mm/slab.h:437 [inline] slab_alloc_node mm/slub.c:2748 [inline] __kmalloc_node_track_caller+0xee/0x370 mm/slub.c:4363 __kmalloc_reserve.isra.0+0x39/0xe0 net/core/skbuff.c:138 __alloc_skb+0xef/0x5a0 net/core/skbuff.c:206 alloc_skb include/linux/skbuff.h:1054 [inline] netlink_alloc_large_skb net/netlink/af_netlink.c:1179 [inline] netlink_sendmsg+0x8d6/0xcc0 net/netlink/af_netlink.c:1897 sock_sendmsg_nosec net/socket.c:646 [inline] sock_sendmsg+0xcf/0x120 net/socket.c:665 ___sys_sendmsg+0x803/0x920 net/socket.c:2286 __sys_sendmsg+0xec/0x1b0 net/socket.c:2324 do_syscall_64+0xb7/0x560 arch/x86/entry/common.c:301 entry_SYSCALL_64_after_hwframe+0x49/0xbe Freed by task 1738: save_stack+0x1b/0x80 mm/kasan/common.c:71 set_track mm/kasan/common.c:79 [inline] __kasan_slab_free+0x130/0x180 mm/kasan/common.c:451 slab_free_hook mm/slub.c:1421 [inline] slab_free_freelist_hook mm/slub.c:1448 [inline] slab_free mm/slub.c:2994 [inline] kfree+0xd7/0x280 mm/slub.c:3949 skb_free_head+0x8b/0xa0 net/core/skbuff.c:588 skb_release_data+0x41f/0x7c0 net/core/skbuff.c:608 skb_release_all+0x46/0x60 net/core/skbuff.c:662 __kfree_skb net/core/skbuff.c:676 [inline] consume_skb net/core/skbuff.c:736 [inline] consume_skb+0xc0/0x2f0 net/core/skbuff.c:730 netlink_unicast_kernel net/netlink/af_netlink.c:1308 [inline] netlink_unicast+0x4d7/0x690 net/netlink/af_netlink.c:1333 netlink_sendmsg+0x80b/0xcc0 net/netlink/af_netlink.c:1922 sock_sendmsg_nosec net/socket.c:646 [inline] sock_sendmsg+0xcf/0x120 net/socket.c:665 ___sys_sendmsg+0x803/0x920 net/socket.c:2286 __sys_sendmsg+0xec/0x1b0 net/socket.c:2324 do_syscall_64+0xb7/0x560 arch/x86/entry/common.c:301 entry_SYSCALL_64_after_hwframe+0x49/0xbe The buggy address belongs to the object at ffff8881c7f8b180 which belongs to the cache kmalloc-1k of size 1024 The buggy address is located 1000 bytes inside of 1024-byte region [ffff8881c7f8b180, ffff8881c7f8b580) The buggy address belongs to the page: page:ffffea00071fe200 refcount:1 mapcount:0 mapping:ffff8881dac02a00 index:0x0 compound_mapcount: 0 flags: 0x200000000010200(slab|head) raw: 0200000000010200 dead000000000100 dead000000000200 ffff8881dac02a00 raw: 0000000000000000 00000000000e000e 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff8881c7f8b400: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8881c7f8b480: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb >ffff8881c7f8b500: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff8881c7f8b580: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff8881c7f8b600: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ==================================================================