Description of problem: If a fuse filesystem is mounted inside a container, there is a problem during pid namespace destruction. The scenario is: 1. task (a thread in the fuse server, with a fuse file open) starts exiting, does exit_signals(), goes into fuse_flush() -> wait 2. fuse daemon gets killed, tries to wake everyone up 3. task from 1 is stuck because complete_signal() doesn't wake it up, since it has PF_EXITING. The result is that the thread will never be woken up, and pid namespace destruction will block indefinitely. To add insult to injury, nobody is waiting for these return codes, since the pid namespace is being destroyed. Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
The PR Link: https://gitee.com/anolis/cloud-kernel/pulls/2648
The upstream has reverted the patch "fuse: in fuse_flush only wait if someone wants the return code" in v6.6, I'm afraid we also need to revert it for ANCK 5.10 which is introduced in https://gitee.com/anolis/cloud-kernel/pulls/2259 @
The revert commit: https://github.com/torvalds/linux/commit/91ec6c85599b60c00caf4e9a9d6c4d6e5dd5e93c
Since it will introduce regression, leave it as won't fix now.