Skip to content

Commit

Permalink
Smack: don't show empty rules when /smack/load or /smack/load2 is read
Browse files Browse the repository at this point in the history
This patch removes empty rules (i.e. with access set to '-') from the
rule list presented to user space.

Smack by design never removes labels nor rules from its lists. Access
for a rule may be set to '-' to effectively disable it. Such rules would
show up in the listing generated when /smack/load or /smack/load2 is
read. This may cause clutter if many rules were disabled.

As a rule with access set to '-' is equivalent to no rule at all, they
may be safely hidden from the listing.

Targeted for git://git.gitorious.org/smack-next/kernel.git

Signed-off-by: Rafal Krypa <[email protected]>
Signed-off-by: Casey Schaufler <[email protected]>
  • Loading branch information
rafal-krypa authored and cschaufler committed Jul 13, 2012
1 parent 3518721 commit 65ee7f4
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions security/smack/smackfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -518,6 +518,9 @@ static void smk_rule_show(struct seq_file *s, struct smack_rule *srp, int max)
if (strlen(srp->smk_subject) >= max || strlen(srp->smk_object) >= max)
return;

if (srp->smk_access == 0)
return;

seq_printf(s, "%s %s", srp->smk_subject, srp->smk_object);

seq_putc(s, ' ');
Expand All @@ -532,8 +535,6 @@ static void smk_rule_show(struct seq_file *s, struct smack_rule *srp, int max)
seq_putc(s, 'a');
if (srp->smk_access & MAY_TRANSMUTE)
seq_putc(s, 't');
if (srp->smk_access == 0)
seq_putc(s, '-');

seq_putc(s, '\n');
}
Expand Down

0 comments on commit 65ee7f4

Please sign in to comment.