summaryrefslogtreecommitdiffstats
path: root/kernel/module.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2021-07-07 11:41:32 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2021-07-07 11:41:32 -0700
commita931dd33d370896a683236bba67c0d6f3d01144d (patch)
tree3301e438a0575cfd6d9fae1b5001da8babc390bd /kernel/module.c
parent1423e2660cf134a8f21f2451865a04792013e49e (diff)
parent2c0f0f3639562d6e38ee9705303c6457c4936eac (diff)
downloadlinux-stable-a931dd33d370896a683236bba67c0d6f3d01144d.tar.gz
linux-stable-a931dd33d370896a683236bba67c0d6f3d01144d.tar.bz2
linux-stable-a931dd33d370896a683236bba67c0d6f3d01144d.zip
Merge tag 'modules-for-v5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux
Pull module updates from Jessica Yu: - Fix incorrect logic in module_kallsyms_on_each_symbol() - Fix for a Coccinelle warning * tag 'modules-for-v5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux: module: correctly exit module_kallsyms_on_each_symbol when fn() != 0 kernel/module: Use BUG_ON instead of if condition followed by BUG
Diffstat (limited to 'kernel/module.c')
-rw-r--r--kernel/module.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/kernel/module.c b/kernel/module.c
index 927d46cb8eb9..64bd61b2d3ad 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -1018,8 +1018,7 @@ void __symbol_put(const char *symbol)
};
preempt_disable();
- if (!find_symbol(&fsa))
- BUG();
+ BUG_ON(!find_symbol(&fsa));
module_put(fsa.owner);
preempt_enable();
}
@@ -4425,9 +4424,10 @@ int module_kallsyms_on_each_symbol(int (*fn)(void *, const char *,
ret = fn(data, kallsyms_symbol_name(kallsyms, i),
mod, kallsyms_symbol_value(sym));
if (ret != 0)
- break;
+ goto out;
}
}
+out:
mutex_unlock(&module_mutex);
return ret;
}