On Thu, Sep 10, 2020 at 02:26:46PM +0900, Tetsuo Handa wrote: > Thank you for responding. I'm also waiting for your response on > "[RFC PATCH] pipe: make pipe_release() deferrable." at > https://lore.kernel.org/linux-fsdevel/7ba35ca4-13c1-caa3-0655-50d328304462@xxxxxxxxxxxxxxxxxxx/ > and "[PATCH] splice: fix premature end of input detection" at > https://lore.kernel.org/linux-block/cf26a57e-01f4-32a9-0b2c-9102bffe76b2@xxxxxxxxxxxxxxxxxxx/ . > > > > > NAK. The reason to defer is *NOT* to bypass that BUG_ON() - we really do not > > want that thing done on anything other than extremely shallow stack. > > Incidentally, why is that thing ever done _not_ in a kernel thread context? > > What does "that thing" refer to? acct_pin_kill() ? blob_to_mnt() ? > I don't know the reason because I'm not the author of these functions. The latter. What I mean, why not simply do that from inside of fork_usermode_driver()? umd_setup is stored in sub_info->init and eventually called from call_usermodehelper_exec_async(), right before the created kernel thread is about to call kernel_execve() and stop being a kernel thread...