mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-03-16 04:04:06 +00:00
debugfs: Return error during {full/open}_proxy_open() on rmmod
[ Upstream commit112cedc8e6
] If a kernel module gets unloaded then it printed report about a leak before commit275678e7a9
("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:275678e7a9
("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>
This commit is contained in:
parent
203baf2a84
commit
1e923017e2
1 changed files with 6 additions and 2 deletions
|
@ -179,8 +179,10 @@ static int open_proxy_open(struct inode *inode, struct file *filp)
|
|||
if (!fops_get(real_fops)) {
|
||||
#ifdef CONFIG_MODULES
|
||||
if (real_fops->owner &&
|
||||
real_fops->owner->state == MODULE_STATE_GOING)
|
||||
real_fops->owner->state == MODULE_STATE_GOING) {
|
||||
r = -ENXIO;
|
||||
goto out;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Huh? Module did not clean up after itself at exit? */
|
||||
|
@ -314,8 +316,10 @@ static int full_proxy_open(struct inode *inode, struct file *filp)
|
|||
if (!fops_get(real_fops)) {
|
||||
#ifdef CONFIG_MODULES
|
||||
if (real_fops->owner &&
|
||||
real_fops->owner->state == MODULE_STATE_GOING)
|
||||
real_fops->owner->state == MODULE_STATE_GOING) {
|
||||
r = -ENXIO;
|
||||
goto out;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Huh? Module did not cleanup after itself at exit? */
|
||||
|
|
Loading…
Add table
Reference in a new issue