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

From: Sasha Levin
Date: Mon Mar 11 2019 - 13:22:32 EST


On Thu, Feb 28, 2019 at 04:25:01PM +0100, Greg Kroah-Hartman wrote:
On Thu, Feb 28, 2019 at 10:07:26AM -0500, Sasha Levin wrote:
From: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

[ 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@xxxxxxx>
Reported-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
Reported-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>
Reported-by: Michal Hocko <mhocko@xxxxxxxxxx>
Reported-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
Reported-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
Reviewed-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>
Reviewed-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
---
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.

I've dropped this and the rest of the debugfs related patches you've
pointed out, thank you.

--
Thanks,
Sasha