Re: [syzbot] [kernel?] possible deadlock in console_flush_all (2)

From: Alexei Starovoitov
Date: Wed Mar 20 2024 - 02:56:57 EST


On Tue, Mar 19, 2024 at 11:50 PM Tetsuo Handa
<penguin-kernel@xxxxxxxxxxxxxxxxxxx> wrote:
>
> Hello, bpf developers.
>
> syzbot is reporting circular locking dependency because bpf program is hitting
> printk() path. To avoid this dependency, something like
> https://syzkaller.appspot.com/text?tag=Patch&x=121c92fe180000 is needed.
>
> Is it possible to call printk_deferred_{enter,exit}() from the bpf side (e.g.
> bpf_prog_run()) so that we don't need to add overhead on the scheduler side
> when bpf programs are not registered?
>
> printk_deferred_{enter,exit}() requires that printk_deferred_exit() is called
> on a CPU which printk_deferred_enter() was called, for percpu counter is used.
> Is migrate_{disable,enable}() also needed around printk_deferred_{enter,exit}() ?
>
> On 2023/10/08 15:28, syzbot wrote:
> > Hello,
> >
> > syzbot found the following issue on:
> >
> > HEAD commit: 7d730f1bf6f3 Add linux-next specific files for 20231005
> > git tree: linux-next
> > console output: https://syzkaller.appspot.com/x/log.txt?x=172d36e9680000

This has nothing to do with bpf.
bpf never calls printk().