summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--security/apparmor/policy.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/security/apparmor/policy.c b/security/apparmor/policy.c
index b367fef33d03..1590e2de4e84 100644
--- a/security/apparmor/policy.c
+++ b/security/apparmor/policy.c
@@ -1008,6 +1008,9 @@ ssize_t aa_replace_profiles(struct aa_ns *policy_ns, struct aa_label *label,
 			audit_policy(label, op, ns_name, ent->new->base.hname,
 				     "same as current profile, skipping",
 				     error);
+			/* break refcount cycle with proxy. */
+			aa_put_proxy(ent->new->label.proxy);
+			ent->new->label.proxy = NULL;
 			goto skip;
 		}