bisecting fixing commit since 3dbdb38e286903ec220aaf1fb29a8d94297da246 building syzkaller on 55aa55c24fe77aae07d530662f91b4d50c4990f0 testing commit 3dbdb38e286903ec220aaf1fb29a8d94297da246 compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: d9a681ae9c878edec72a09fad4fefe5f349a807f2bbc80f88821aa0c03632039 run #0: crashed: BUG: sleeping function called from invalid context in lock_sock_nested run #1: crashed: KASAN: use-after-free Read in dump_schedule run #2: crashed: KASAN: use-after-free Read in dump_schedule run #3: crashed: KASAN: use-after-free Read in dump_schedule run #4: crashed: KASAN: use-after-free Read in dump_schedule run #5: crashed: KASAN: use-after-free Read in dump_schedule run #6: OK run #7: OK run #8: OK run #9: OK run #10: OK run #11: OK run #12: OK run #13: OK run #14: OK run #15: OK run #16: OK run #17: OK run #18: OK run #19: OK reproducer seems to be flaky testing current HEAD 5af4055fa8133662831ae2fb6e188e8f6c172688 testing commit 5af4055fa8133662831ae2fb6e188e8f6c172688 compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 2753537f1d29f777b668390cda9a3501ca76b6454e3da4dc79b301f628e19c6f run #0: crashed: KASAN: use-after-free Read in dump_schedule run #1: crashed: KASAN: use-after-free Read in dump_schedule run #2: crashed: KASAN: use-after-free Read in dump_schedule run #3: crashed: KASAN: use-after-free Read in dump_schedule run #4: OK run #5: OK run #6: OK run #7: OK run #8: OK run #9: OK run #10: OK run #11: OK run #12: OK run #13: OK run #14: OK run #15: OK run #16: OK run #17: OK run #18: OK run #19: OK Reproducer flagged being flaky revisions tested: 2, total time: 32m31.543142662s (build: 13m37.754256589s, test: 18m13.59702314s) the crash still happens on HEAD commit msg: Merge tag 'devicetree-fixes-for-5.15-3' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux crash: KASAN: use-after-free Read in dump_schedule ================================================================== BUG: KASAN: use-after-free in dump_schedule+0x6d2/0x750 net/sched/sch_taprio.c:1837 Read of size 8 at addr ffff88807cbd7240 by task syz-executor.5/17540 CPU: 1 PID: 17540 Comm: syz-executor.5 Not tainted 5.15.0-rc4-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x57/0x7d lib/dump_stack.c:106 print_address_description.constprop.0.cold+0x6c/0x309 mm/kasan/report.c:256 __kasan_report mm/kasan/report.c:442 [inline] kasan_report.cold+0x83/0xdf mm/kasan/report.c:459 dump_schedule+0x6d2/0x750 net/sched/sch_taprio.c:1837 taprio_dump+0x431/0xbd0 net/sched/sch_taprio.c:1906 tc_fill_qdisc+0x575/0x1090 net/sched/sch_api.c:923 qdisc_notify.isra.0+0x229/0x2a0 net/sched/sch_api.c:990 tc_modify_qdisc+0xc89/0x16c0 net/sched/sch_api.c:1642 rtnetlink_rcv_msg+0x31d/0x8d0 net/core/rtnetlink.c:5572 netlink_rcv_skb+0x118/0x370 net/netlink/af_netlink.c:2504 netlink_unicast_kernel net/netlink/af_netlink.c:1314 [inline] netlink_unicast+0x42e/0x700 net/netlink/af_netlink.c:1340 netlink_sendmsg+0x704/0xbf0 net/netlink/af_netlink.c:1929 sock_sendmsg_nosec net/socket.c:704 [inline] sock_sendmsg+0xab/0xe0 net/socket.c:724 ____sys_sendmsg+0x5bf/0x7a0 net/socket.c:2409 ___sys_sendmsg+0xd3/0x150 net/socket.c:2463 __sys_sendmsg+0xb2/0x140 net/socket.c:2492 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x4665d9 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 bc ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007ff6da54c188 EFLAGS: 00000246 ORIG_RAX: 000000000000002e RAX: ffffffffffffffda RBX: 000000000056bf80 RCX: 00000000004665d9 RDX: 0000000000000000 RSI: 00000000200007c0 RDI: 0000000000000004 RBP: 00000000004bfcb9 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 000000000056bf80 R13: 00007ffccaeb238f R14: 00007ff6da54c300 R15: 0000000000022000 Allocated by task 17500: kasan_save_stack+0x1b/0x40 mm/kasan/common.c:38 kasan_set_track mm/kasan/common.c:46 [inline] set_alloc_info mm/kasan/common.c:434 [inline] ____kasan_kmalloc mm/kasan/common.c:513 [inline] ____kasan_kmalloc mm/kasan/common.c:472 [inline] __kasan_kmalloc+0xa4/0xd0 mm/kasan/common.c:522 kmalloc include/linux/slab.h:591 [inline] kzalloc include/linux/slab.h:721 [inline] taprio_change+0x51b/0x3b70 net/sched/sch_taprio.c:1477 qdisc_change net/sched/sch_api.c:1338 [inline] tc_modify_qdisc+0xada/0x16c0 net/sched/sch_api.c:1640 rtnetlink_rcv_msg+0x31d/0x8d0 net/core/rtnetlink.c:5572 netlink_rcv_skb+0x118/0x370 net/netlink/af_netlink.c:2504 netlink_unicast_kernel net/netlink/af_netlink.c:1314 [inline] netlink_unicast+0x42e/0x700 net/netlink/af_netlink.c:1340 netlink_sendmsg+0x704/0xbf0 net/netlink/af_netlink.c:1929 sock_sendmsg_nosec net/socket.c:704 [inline] sock_sendmsg+0xab/0xe0 net/socket.c:724 ____sys_sendmsg+0x5bf/0x7a0 net/socket.c:2409 ___sys_sendmsg+0xd3/0x150 net/socket.c:2463 __sys_sendmsg+0xb2/0x140 net/socket.c:2492 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x44/0xae Freed by task 9143: kasan_save_stack+0x1b/0x40 mm/kasan/common.c:38 kasan_set_track+0x1c/0x30 mm/kasan/common.c:46 kasan_set_free_info+0x20/0x30 mm/kasan/generic.c:360 ____kasan_slab_free mm/kasan/common.c:366 [inline] ____kasan_slab_free mm/kasan/common.c:328 [inline] __kasan_slab_free+0xff/0x130 mm/kasan/common.c:374 kasan_slab_free include/linux/kasan.h:230 [inline] slab_free_hook mm/slub.c:1700 [inline] slab_free_freelist_hook+0x81/0x190 mm/slub.c:1725 slab_free mm/slub.c:3483 [inline] kfree+0xe4/0x530 mm/slub.c:4543 rcu_do_batch kernel/rcu/tree.c:2508 [inline] rcu_core+0x7ab/0x1470 kernel/rcu/tree.c:2743 __do_softirq+0x29b/0x9c2 kernel/softirq.c:558 Last potentially related work creation: kasan_save_stack+0x1b/0x40 mm/kasan/common.c:38 kasan_record_aux_stack+0xe9/0x110 mm/kasan/generic.c:348 __call_rcu kernel/rcu/tree.c:2987 [inline] call_rcu+0xb1/0x750 kernel/rcu/tree.c:3067 taprio_change+0x2654/0x3b70 net/sched/sch_taprio.c:1597 qdisc_change net/sched/sch_api.c:1338 [inline] tc_modify_qdisc+0xada/0x16c0 net/sched/sch_api.c:1640 rtnetlink_rcv_msg+0x31d/0x8d0 net/core/rtnetlink.c:5572 netlink_rcv_skb+0x118/0x370 net/netlink/af_netlink.c:2504 netlink_unicast_kernel net/netlink/af_netlink.c:1314 [inline] netlink_unicast+0x42e/0x700 net/netlink/af_netlink.c:1340 netlink_sendmsg+0x704/0xbf0 net/netlink/af_netlink.c:1929 sock_sendmsg_nosec net/socket.c:704 [inline] sock_sendmsg+0xab/0xe0 net/socket.c:724 ____sys_sendmsg+0x5bf/0x7a0 net/socket.c:2409 ___sys_sendmsg+0xd3/0x150 net/socket.c:2463 __sys_sendmsg+0xb2/0x140 net/socket.c:2492 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x44/0xae Second to last potentially related work creation: kasan_save_stack+0x1b/0x40 mm/kasan/common.c:38 kasan_record_aux_stack+0xe9/0x110 mm/kasan/generic.c:348 kvfree_call_rcu+0x74/0x990 kernel/rcu/tree.c:3552 cfg80211_update_known_bss+0x785/0xa90 net/wireless/scan.c:1660 cfg80211_bss_update+0xd9/0x20b0 net/wireless/scan.c:1707 cfg80211_inform_single_bss_frame_data+0x60d/0xcb0 net/wireless/scan.c:2411 cfg80211_inform_bss_frame_data+0x94/0xa80 net/wireless/scan.c:2444 ieee80211_bss_info_update+0x284/0x8c0 net/mac80211/scan.c:190 ieee80211_rx_bss_info net/mac80211/ibss.c:1119 [inline] ieee80211_rx_mgmt_probe_beacon+0x7ad/0x1640 net/mac80211/ibss.c:1608 ieee80211_ibss_rx_queued_mgmt+0xaec/0x12e0 net/mac80211/ibss.c:1635 ieee80211_iface_process_skb net/mac80211/iface.c:1439 [inline] ieee80211_iface_work+0x729/0x970 net/mac80211/iface.c:1493 process_one_work+0x87f/0x1450 kernel/workqueue.c:2297 worker_thread+0x598/0x1040 kernel/workqueue.c:2444 kthread+0x38b/0x460 kernel/kthread.c:319 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295 The buggy address belongs to the object at ffff88807cbd7200 which belongs to the cache kmalloc-96 of size 96 The buggy address is located 64 bytes inside of 96-byte region [ffff88807cbd7200, ffff88807cbd7260) The buggy address belongs to the page: page:ffffea0001f2f5c0 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x7cbd7 flags: 0xfff00000000200(slab|node=0|zone=1|lastcpupid=0x7ff) raw: 00fff00000000200 dead000000000100 dead000000000122 ffff88800fc41780 raw: 0000000000000000 0000000000200020 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected page_owner tracks the page as allocated page last allocated via order 0, migratetype Unmovable, gfp_mask 0x12c40(GFP_NOFS|__GFP_NOWARN|__GFP_NORETRY), pid 7060, ts 69320814733, free_ts 69317124346 prep_new_page mm/page_alloc.c:2424 [inline] get_page_from_freelist+0xa6f/0x2f50 mm/page_alloc.c:4153 __alloc_pages+0x1b2/0x500 mm/page_alloc.c:5375 alloc_slab_page mm/slub.c:1763 [inline] allocate_slab mm/slub.c:1900 [inline] new_slab+0x319/0x490 mm/slub.c:1963 ___slab_alloc+0x923/0xfe0 mm/slub.c:2994 __slab_alloc.constprop.0+0x4d/0xa0 mm/slub.c:3081 slab_alloc_node mm/slub.c:3172 [inline] slab_alloc mm/slub.c:3214 [inline] __kmalloc+0x305/0x320 mm/slub.c:4387 kmalloc include/linux/slab.h:596 [inline] kzalloc include/linux/slab.h:721 [inline] tomoyo_commit_ok+0x18/0x60 security/tomoyo/memory.c:76 tomoyo_update_domain+0x50c/0x7b0 security/tomoyo/domain.c:139 tomoyo_update_path_number_acl security/tomoyo/file.c:691 [inline] tomoyo_write_file+0x513/0x690 security/tomoyo/file.c:1034 tomoyo_write_domain2+0xe8/0x180 security/tomoyo/common.c:1152 tomoyo_add_entry security/tomoyo/common.c:2042 [inline] tomoyo_supervisor+0x98b/0xc40 security/tomoyo/common.c:2103 tomoyo_audit_path_number_log security/tomoyo/file.c:235 [inline] tomoyo_path_number_perm+0x38a/0x4d0 security/tomoyo/file.c:734 tomoyo_path_mkdir+0x81/0xd0 security/tomoyo/tomoyo.c:166 security_path_mkdir+0xc0/0x130 security/security.c:1140 do_mkdirat+0x106/0x280 fs/namei.c:3907 __do_sys_mkdir fs/namei.c:3931 [inline] __se_sys_mkdir fs/namei.c:3929 [inline] __x64_sys_mkdir+0xd0/0x120 fs/namei.c:3929 page last free stack trace: reset_page_owner include/linux/page_owner.h:24 [inline] free_pages_prepare mm/page_alloc.c:1338 [inline] free_pcp_prepare+0x2c5/0x780 mm/page_alloc.c:1389 free_unref_page_prepare mm/page_alloc.c:3315 [inline] free_unref_page+0x19/0x690 mm/page_alloc.c:3394 mm_free_pgd kernel/fork.c:648 [inline] __mmdrop+0xb9/0x350 kernel/fork.c:699 mmdrop include/linux/sched/mm.h:49 [inline] finish_task_switch.isra.0+0x69f/0xa10 kernel/sched/core.c:4839 context_switch kernel/sched/core.c:4943 [inline] __schedule+0x915/0x26c0 kernel/sched/core.c:6287 schedule+0xd3/0x270 kernel/sched/core.c:6366 freezable_schedule include/linux/freezer.h:172 [inline] do_nanosleep+0x20d/0x5b0 kernel/time/hrtimer.c:2044 hrtimer_nanosleep+0x1ac/0x3b0 kernel/time/hrtimer.c:2097 common_nsleep+0x74/0xb0 kernel/time/posix-timers.c:1227 __do_sys_clock_nanosleep kernel/time/posix-timers.c:1267 [inline] __se_sys_clock_nanosleep kernel/time/posix-timers.c:1245 [inline] __x64_sys_clock_nanosleep+0x256/0x3b0 kernel/time/posix-timers.c:1245 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x44/0xae Memory state around the buggy address: ffff88807cbd7100: fa fb fb fb fb fb fb fb fb fb fb fb fc fc fc fc ffff88807cbd7180: fa fb fb fb fb fb fb fb fb fb fb fb fc fc fc fc >ffff88807cbd7200: fa fb fb fb fb fb fb fb fb fb fb fb fc fc fc fc ^ ffff88807cbd7280: fa fb fb fb fb fb fb fb fb fb fb fb fc fc fc fc ffff88807cbd7300: fa fb fb fb fb fb fb fb fb fb fb fb fc fc fc fc ==================================================================