From: John Johansen <john.johansen@canonical.com>
Date: Sat, 16 Apr 2016 20:59:02 +0000 (-0700)
Subject: apparmor: fix put() parent ref after updating the active ref
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=f351841f8d41072e741e45299070d421a5833a4a;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git

apparmor: fix put() parent ref after updating the active ref

Signed-off-by: John Johansen <john.johansen@canonical.com>
Acked-by: Seth Arnold <seth.arnold@canonical.com>
---

diff --git a/security/apparmor/policy.c b/security/apparmor/policy.c
index c92a9f6c1be5..455c9f89f7e2 100644
--- a/security/apparmor/policy.c
+++ b/security/apparmor/policy.c
@@ -1187,8 +1187,8 @@ ssize_t aa_replace_profiles(void *udata, size_t size, bool noreplace)
 			/* parent replaced in this atomic set? */
 			if (newest != parent) {
 				aa_get_profile(newest);
-				aa_put_profile(parent);
 				rcu_assign_pointer(ent->new->parent, newest);
+				aa_put_profile(parent);
 			}
 			/* aafs interface uses replacedby */
 			rcu_assign_pointer(ent->new->replacedby->profile,