debugfs: Return error during {full/open}_proxy_open() on rmmod
authorSven Eckelmann <sven@narfation.org>
Mon, 2 Aug 2021 16:24:44 +0000 (18:24 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 15 Sep 2021 07:50:37 +0000 (09:50 +0200)
commitafffa7b4c6e47967cfac323dd7debd342abb15c7
tree96924c1ec513ae3571d38b16279b48ae15e18d24
parent17830b041534b13a80f9ca794c136174b44baf63
debugfs: Return error during {full/open}_proxy_open() on rmmod

[ Upstream commit 112cedc8e600b668688eb809bf11817adec58ddc ]

If a kernel module gets unloaded then it printed report about a leak before
commit 275678e7a9be ("debugfs: Check module state before warning in
{full/open}_proxy_open()"). An additional check was added in this commit to
avoid this printing. But it was forgotten that the function must return an
error in this case because it was not actually opened.

As result, the systems started to crash or to hang when a module was
unloaded while something was trying to open a file.

Fixes: 275678e7a9be ("debugfs: Check module state before warning in {full/open}_proxy_open()")
Cc: Taehee Yoo <ap420073@gmail.com>
Reported-by: Mário Lopes <ml@simonwunderlich.de>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Link: https://lore.kernel.org/r/20210802162444.7848-1-sven@narfation.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/debugfs/file.c