On Fri, Nov 02, 2018 at 10:31:57PM +0900, Tetsuo Handa wrote: > syzbot is sometimes getting mixed output like below due to concurrent > printk(). Mitigate such output by using line-buffered printk() API. > > RCU used illegally from idle CPU! > rcu_scheduler_active = 2, debug_locks = 1 > RSP: 0018:ffffffff88007bb8 EFLAGS: 00000286 > RCU used illegally from extended quiescent state! > ORIG_RAX: ffffffffffffff13 > 1 lock held by swapper/1/0: > RAX: dffffc0000000000 RBX: 1ffffffff1000f7b RCX: 0000000000000000 > #0: > RDX: 1ffffffff10237b8 RSI: 0000000000000001 RDI: ffffffff8811bdc0 > 000000004b34587c > RBP: ffffffff88007bb8 R08: ffffffff88075e00 R09: 0000000000000000 > ( > R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000 > rcu_read_lock > R13: ffffffff88007c78 R14: 0000000000000000 R15: 0000000000000000 > ){....} > arch_safe_halt arch/x86/include/asm/paravirt.h:94 [inline] > default_idle+0xc2/0x410 arch/x86/kernel/process.c:498 > , at: trace_call_bpf+0xf8/0x640 kernel/trace/bpf_trace.c:46 WTH is that buffered aPI, and no, that breaks my earlyprintk stuff.