diff --git a/security/integrity/ima/ima_policy.c b/security/integrity/ima/ima_policy.c index 2aff6f9ef0e9eb8ce54a8e425e9239f0ce9e4dd0..6cc862ce3563b9794147dc6530a0c5095d973166 100644 --- a/security/integrity/ima/ima_policy.c +++ b/security/integrity/ima/ima_policy.c @@ -1240,6 +1240,14 @@ int ima_policy_show(struct seq_file *m, void *v) rcu_read_lock(); + /* Do not print rules with inactive LSM labels */ + for (i = 0; i < MAX_LSM_RULES; i++) { + if (entry->lsm[i].args_p && !entry->lsm[i].rule) { + rcu_read_unlock(); + return 0; + } + } + if (entry->action & MEASURE) seq_puts(m, pt(Opt_measure)); if (entry->action & DONT_MEASURE)