Re: [syzbot] [bpf?] [trace?] possible deadlock in force_sig_info_to_task

From: Tetsuo Handa
Date: Mon Apr 29 2024 - 10:18:24 EST


On 2024/04/29 9:50, Linus Torvalds wrote:
> On Sun, 28 Apr 2024 at 16:23, Hillf Danton <hdanton@xxxxxxxx> wrote:
>>
>> So is game like copying from/putting to user with runqueue locked
>> at the first place.
>
> The runqueue lock is irrelevant. As mentioned, it's only a symptom of
> something else going wrong.
>
>> Plus as per another syzbot report [1], bpf could make trouble with
>> workqueue pool locked.
>
> That seems to be entirely different. There's no unexplained page fault
> in that case, that seems to be purely a "take lock in the wrong order"

Another example is at https://lkml.kernel.org/r/00000000000041df050616f6ba4e@xxxxxxxxxx .
Since many callers might hold runqueue lock while holding some other locks, allowing
BPF to run code which can hold one of such locks while runqueue lock is held is asking
for troubles. BPF programs are unexpected lock grabber for built-in code. I think that
BPF should not run code which might hold one of such locks when an atomic lock is
already held.