Re: [PATCH AUTOSEL 4.20 34/81] debugfs: return error values, not NULL

Greg Kroah-Hartman
2019-02-28T15:25:07Z

On Thu, Feb 28, 2019 at 10:07:26AM -0500, Sasha Levin wrote:
> From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>
> [ Upstream commit ff9fb72bc07705c00795ca48631f7fffe24d2c6b ]
>
> When an error happens, debugfs should return an error pointer value, not
> NULL. This will prevent the totally theoretical error where a debugfs
> call fails due to lack of memory, returning NULL, and that dentry value
> is then passed to another debugfs call, which would end up succeeding,
> creating a file at the root of the debugfs tree, but would then be
> impossible to remove (because you can not remove the directory NULL).
>
> So, to make everyone happy, always return errors, this makes the users
> of debugfs much simpler (they do not have to ever check the return
> value), and everyone can rest easy.
>
> Reported-by: Gary R Hook <ghook@amd.com>
> Reported-by: Heiko Carstens <heiko.carstens@de.ibm.com>
> Reported-by: Masami Hiramatsu <mhiramat@kernel.org>
> Reported-by: Michal Hocko <mhocko@kernel.org>
> Reported-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
> Reported-by: Ulf Hansson <ulf.hansson@linaro.org>
> Reviewed-by: Masami Hiramatsu <mhiramat@kernel.org>
> Reviewed-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Signed-off-by: Sasha Levin <sashal@kernel.org>
> ---
> fs/debugfs/inode.c | 39 ++++++++++++++++++++++-----------------
> 1 file changed, 22 insertions(+), 17 deletions(-)

As much as I would love to backport this patch, no, please do not, I did
not mark it for stable on purpose. It can cause regressions with code
that is not expecting this behavior (I have a fix that needs to go into
5.0 for this very reason.)

Please drop it from all queues.

thanks,

greg k-h