Re: [Syzkaller] INFO: task hung in fuse_lookup with v6.0 kernel in guest

From: Miklos Szeredi
Date: Tue Oct 18 2022 - 05:24:01 EST


On Mon, Oct 17, 2022 at 11:17 AM Pengfei Xu <pengfei.xu@xxxxxxxxx> wrote:
>
> Hi Miklos,
>
> Greeting!
>
> Platform: Tiger lake CPU platform.
>
> We found 1 "task hung in fuse_lookup" issue by syzkaller with v6.0 mainline
> kernel in guest.
>
> Bisected and found the bad commit:
> "
> commit: 62dd1fc8cc6b22e3e568be46ebdb817e66f5d6a5
> fuse: move fget() to fuse_get_tree()
> "
>
> Reproduced code generated by syzkaller, binary, bisect log and all the dmesg
> info are in attached package.

Thanks for the report.

I tried out the reproducer, and the deadlock can be triggered.
Unfortunately killing the deadlocked processes is not enough, but it
still should be possible to recover with "echo 1 >
/sys/fs/fuse/connections/$FUSE_DEV/abort". In my tests this works,
so I'm not sure there's anything to fix here.

Is there a real life situation where this occurs, or is this just
triggered with fuzzing?

I'm wondering why syzbot didn't try aborting using the "abort" file in
sysfs, AFAICS it does know this trick.

Thanks,
Miklos