Skip to content

Commit f872af7

Browse files
committed
apparmor: cleanup conditional check for label in label_print
Signed-off-by: John Johansen <[email protected]> Acked-by: Seth Arnold <[email protected]>
1 parent 2ea3ffb commit f872af7

File tree

1 file changed

+8
-14
lines changed

1 file changed

+8
-14
lines changed

security/apparmor/label.c

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1450,9 +1450,11 @@ bool aa_update_label_name(struct aa_ns *ns, struct aa_label *label, gfp_t gfp)
14501450
* cached label name is present and visible
14511451
* @label->hname only exists if label is namespace hierachical
14521452
*/
1453-
static inline bool use_label_hname(struct aa_ns *ns, struct aa_label *label)
1453+
static inline bool use_label_hname(struct aa_ns *ns, struct aa_label *label,
1454+
int flags)
14541455
{
1455-
if (label->hname && labels_ns(label) == ns)
1456+
if (label->hname && (!ns || labels_ns(label) == ns) &&
1457+
!(flags & ~FLAG_SHOW_MODE))
14561458
return true;
14571459

14581460
return false;
@@ -1710,10 +1712,8 @@ void aa_label_xaudit(struct audit_buffer *ab, struct aa_ns *ns,
17101712
AA_BUG(!ab);
17111713
AA_BUG(!label);
17121714

1713-
if (!ns)
1714-
ns = labels_ns(label);
1715-
1716-
if (!use_label_hname(ns, label) || display_mode(ns, label, flags)) {
1715+
if (!use_label_hname(ns, label, flags) ||
1716+
display_mode(ns, label, flags)) {
17171717
len = aa_label_asxprint(&name, ns, label, flags, gfp);
17181718
if (len == -1) {
17191719
AA_DEBUG("label print error");
@@ -1738,10 +1738,7 @@ void aa_label_seq_xprint(struct seq_file *f, struct aa_ns *ns,
17381738
AA_BUG(!f);
17391739
AA_BUG(!label);
17401740

1741-
if (!ns)
1742-
ns = labels_ns(label);
1743-
1744-
if (!use_label_hname(ns, label)) {
1741+
if (!use_label_hname(ns, label, flags)) {
17451742
char *str;
17461743
int len;
17471744

@@ -1764,10 +1761,7 @@ void aa_label_xprintk(struct aa_ns *ns, struct aa_label *label, int flags,
17641761
{
17651762
AA_BUG(!label);
17661763

1767-
if (!ns)
1768-
ns = labels_ns(label);
1769-
1770-
if (!use_label_hname(ns, label)) {
1764+
if (!use_label_hname(ns, label, flags)) {
17711765
char *str;
17721766
int len;
17731767

0 commit comments

Comments
 (0)