On Mon, 1 Oct 2018, Kees Cook wrote:
LSM initialization failures have traditionally been ignored. We should
at least WARN when something goes wrong.
I guess we could have a boot param which specifies what to do if any LSM
fails to init, as I think some folks will want to stop execution at that
point.
Thoughts?
quoted hunk ↗ jump to hunk
Signed-off-by: Kees Cook <redacted>
Reviewed-by: Casey Schaufler <casey@schaufler-ca.com>
Reviewed-by: John Johansen <john.johansen@canonical.com>
---
security/security.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/security/security.c b/security/security.c
index 395f804f6a91..2055af907eba 100644
--- a/security/security.c
+++ b/security/security.c
@@ -55,10 +55,12 @@ static __initdata bool debug;
static void __init major_lsm_init(void)
{
struct lsm_info *lsm;
+ int ret;
for (lsm = __start_lsm_info; lsm < __end_lsm_info; lsm++) {
init_debug("initializing %s\n", lsm->name);
- lsm->init();
+ ret = lsm->init();
+ WARN(ret, "%s failed to initialize: %d\n", lsm->name, ret);
}
}
--
James Morris
[off-list ref]