Re: [syzbot] [net?] [virt?] BUG: sleeping function called from invalid context in __set_page_owner
From: Hillf Danton <hidden>
Date: 2025-10-10 03:38:48
Also in:
lkml, virtualization
From: Hillf Danton <hidden>
Date: 2025-10-10 03:38:48
Also in:
lkml, virtualization
Date: Thu, 09 Oct 2025 09:46:27 -0700 [thread overview] Hello, syzbot found the following issue on: HEAD commit: ec714e371f22 Merge tag 'perf-tools-for-v6.18-1-2025-10-08'.. git tree: upstream console output: https://syzkaller.appspot.com/x/log.txt?x=174a4b34580000 kernel config: https://syzkaller.appspot.com/x/.config?x=db9c80a8900dca57 dashboard link: https://syzkaller.appspot.com/bug?extid=665739f456b28f32b23d compiler: Debian clang version 20.1.8 (++20250708063551+0c9f909b7976-1~exp1~20250708183702.136), Debian LLD 20.1.8 syz repro: https://syzkaller.appspot.com/x/repro.syz?x=140e0dcd980000 C reproducer: https://syzkaller.appspot.com/x/repro.c?x=1581452f980000
Test Alexei's fix. #syz test
--- a/mm/page_owner.c
+++ b/mm/page_owner.c@@ -168,6 +168,9 @@ static void add_stack_record_to_list(struct stack_record *stack_record, unsigned long flags; struct stack *stack; + if (!gfpflags_allow_spinning(gfp_mask)) + return; + set_current_in_page_owner(); stack = kmalloc(sizeof(*stack), gfp_nested_mask(gfp_mask)); if (!stack) { --