bisecting fixing commit since 6b6446efedb27c2766745a04f9b5d4449f51391d building syzkaller on cba33199be220cbf61f7c0c8223d88a25a913d6f testing commit 6b6446efedb27c2766745a04f9b5d4449f51391d with gcc (GCC) 8.4.1 20210217 kernel signature: 8d52d56b53b802d7f4cec44776e768aaac96b25e9b24bc6e4f22c46b23488cf5 all runs: crashed: KASAN: use-after-free Read in ieee80211_ibss_build_presp testing current HEAD 29c52025152bab4c557d8174da58f1a4c8e70438 testing commit 29c52025152bab4c557d8174da58f1a4c8e70438 with gcc (GCC) 8.4.1 20210217 kernel signature: 38223c73a89f33a03549bccb49de68d9cb2d68d523f9804c662fdfc95dc6850c all runs: crashed: KASAN: use-after-free Read in ieee80211_ibss_build_presp revisions tested: 2, total time: 21m16.107894162s (build: 13m53.391845008s, test: 6m26.99081363s) the crash still happens on HEAD commit msg: Linux 4.14.221 crash: KASAN: use-after-free Read in ieee80211_ibss_build_presp IPv6: ADDRCONF(NETDEV_CHANGE): batadv_slave_1: link becomes ready wlan0: Creating new IBSS network, BSSID 50:50:50:50:50:50 IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_batadv: link becomes ready IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready ================================================================== BUG: KASAN: use-after-free in memcpy include/linux/string.h:372 [inline] BUG: KASAN: use-after-free in ieee80211_ibss_build_presp+0xc81/0x1a70 net/mac80211/ibss.c:173 Read of size 4 at addr ffff8881dfba4a40 by task kworker/u4:6/8933 CPU: 0 PID: 8933 Comm: kworker/u4:6 Not tainted 4.14.221-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: phy4 ieee80211_iface_work Call Trace: __dump_stack lib/dump_stack.c:17 [inline] dump_stack+0x14b/0x1e7 lib/dump_stack.c:58 print_address_description.cold.6+0x9/0x1ca mm/kasan/report.c:252 kasan_report_error mm/kasan/report.c:351 [inline] kasan_report mm/kasan/report.c:409 [inline] kasan_report.cold.7+0x11a/0x2d3 mm/kasan/report.c:393 check_memory_region_inline mm/kasan/kasan.c:260 [inline] check_memory_region+0x13c/0x1b0 mm/kasan/kasan.c:267 memcpy+0x23/0x50 mm/kasan/kasan.c:302 memcpy include/linux/string.h:372 [inline] ieee80211_ibss_build_presp+0xc81/0x1a70 net/mac80211/ibss.c:173 __ieee80211_sta_join_ibss+0x5f1/0x1b90 net/mac80211/ibss.c:319 ieee80211_sta_create_ibss.cold.7+0xab/0x119 net/mac80211/ibss.c:1346 ieee80211_sta_find_ibss net/mac80211/ibss.c:1476 [inline] ieee80211_ibss_work.cold.11+0x26a/0x4d8 net/mac80211/ibss.c:1700 ieee80211_iface_work+0x4a6/0x690 net/mac80211/iface.c:1383 process_one_work+0x74f/0x1620 kernel/workqueue.c:2116 worker_thread+0xcc/0xee0 kernel/workqueue.c:2250 kthread+0x338/0x400 kernel/kthread.c:232 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:404 Allocated by task 9078: save_stack_trace+0x16/0x20 arch/x86/kernel/stacktrace.c:59 save_stack mm/kasan/kasan.c:447 [inline] set_track mm/kasan/kasan.c:459 [inline] kasan_kmalloc.part.1+0x62/0xf0 mm/kasan/kasan.c:551 kasan_kmalloc+0xaf/0xc0 mm/kasan/kasan.c:536 __do_kmalloc mm/slab.c:3720 [inline] __kmalloc_track_caller+0x159/0x410 mm/slab.c:3735 kmemdup+0x1d/0x40 mm/util.c:118 kmemdup include/linux/string.h:445 [inline] ieee80211_ibss_join+0x74d/0xda0 net/mac80211/ibss.c:1812 ieee80211_join_ibss+0x13/0x20 net/mac80211/cfg.c:2247 rdev_join_ibss net/wireless/rdev-ops.h:521 [inline] __cfg80211_join_ibss+0x553/0xc80 net/wireless/ibss.c:132 cfg80211_join_ibss+0x6b/0x90 net/wireless/ibss.c:155 nl80211_join_ibss+0xb46/0x1110 net/wireless/nl80211.c:8626 genl_family_rcv_msg+0x57f/0xfe0 net/netlink/genetlink.c:600 genl_rcv_msg+0xa7/0x140 net/netlink/genetlink.c:625 netlink_rcv_skb+0x12f/0x3b0 net/netlink/af_netlink.c:2433 genl_rcv+0x23/0x40 net/netlink/genetlink.c:636 netlink_unicast_kernel net/netlink/af_netlink.c:1287 [inline] netlink_unicast+0x40b/0x610 net/netlink/af_netlink.c:1313 netlink_sendmsg+0x639/0xbe0 net/netlink/af_netlink.c:1878 sock_sendmsg_nosec net/socket.c:646 [inline] sock_sendmsg+0xac/0xf0 net/socket.c:656 ___sys_sendmsg+0x625/0x920 net/socket.c:2062 __sys_sendmsg+0xc1/0x140 net/socket.c:2096 SYSC_sendmsg net/socket.c:2107 [inline] SyS_sendmsg+0xd/0x20 net/socket.c:2103 do_syscall_64+0x1c7/0x5b0 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x46/0xbb Freed by task 9090: save_stack_trace+0x16/0x20 arch/x86/kernel/stacktrace.c:59 save_stack mm/kasan/kasan.c:447 [inline] set_track mm/kasan/kasan.c:459 [inline] kasan_slab_free+0xab/0x190 mm/kasan/kasan.c:524 __cache_free mm/slab.c:3496 [inline] kfree+0xcc/0x270 mm/slab.c:3815 ieee80211_ibss_leave+0x80/0xe0 net/mac80211/ibss.c:1863 ieee80211_leave_ibss+0x10/0x20 net/mac80211/cfg.c:2252 rdev_leave_ibss net/wireless/rdev-ops.h:531 [inline] __cfg80211_leave_ibss+0x132/0x5e0 net/wireless/ibss.c:217 cfg80211_leave_ibss+0x57/0x80 net/wireless/ibss.c:234 cfg80211_change_iface+0x8bb/0x1160 net/wireless/util.c:1028 nl80211_set_interface+0x443/0x840 net/wireless/nl80211.c:2929 genl_family_rcv_msg+0x57f/0xfe0 net/netlink/genetlink.c:600 genl_rcv_msg+0xa7/0x140 net/netlink/genetlink.c:625 netlink_rcv_skb+0x12f/0x3b0 net/netlink/af_netlink.c:2433 genl_rcv+0x23/0x40 net/netlink/genetlink.c:636 netlink_unicast_kernel net/netlink/af_netlink.c:1287 [inline] netlink_unicast+0x40b/0x610 net/netlink/af_netlink.c:1313 netlink_sendmsg+0x639/0xbe0 net/netlink/af_netlink.c:1878 sock_sendmsg_nosec net/socket.c:646 [inline] sock_sendmsg+0xac/0xf0 net/socket.c:656 ___sys_sendmsg+0x625/0x920 net/socket.c:2062 __sys_sendmsg+0xc1/0x140 net/socket.c:2096 SYSC_sendmsg net/socket.c:2107 [inline] SyS_sendmsg+0xd/0x20 net/socket.c:2103 do_syscall_64+0x1c7/0x5b0 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x46/0xbb The buggy address belongs to the object at ffff8881dfba4a40 which belongs to the cache kmalloc-32 of size 32 The buggy address is located 0 bytes inside of 32-byte region [ffff8881dfba4a40, ffff8881dfba4a60) The buggy address belongs to the page: page:ffffea00077ee900 count:1 mapcount:0 mapping:ffff8881dfba4000 index:0xffff8881dfba4fc1 flags: 0x17ff00000000100(slab) raw: 017ff00000000100 ffff8881dfba4000 ffff8881dfba4fc1 000000010000003f raw: ffffea0007637460 ffffea0007663660 ffff8881f60001c0 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff8881dfba4900: fb fb fb fb fc fc fc fc fb fb fb fb fc fc fc fc ffff8881dfba4980: fb fb fb fb fc fc fc fc 00 01 fc fc fc fc fc fc >ffff8881dfba4a00: fb fb fb fb fc fc fc fc fb fb fb fb fc fc fc fc ^ ffff8881dfba4a80: fb fb fb fb fc fc fc fc fb fb fb fb fc fc fc fc ffff8881dfba4b00: fb fb fb fb fc fc fc fc fb fb fb fb fc fc fc fc ==================================================================