apparmor: fix replacement bug that adds new child to old parent
authorJohn Johansen <john.johansen@canonical.com>
Mon, 11 Apr 2016 23:57:19 +0000 (16:57 -0700)
committerJohn Johansen <john.johansen@canonical.com>
Tue, 12 Jul 2016 15:43:10 +0000 (08:43 -0700)
commitec34fa24a934f4c8fd68f39b84abf34c42e5b06a
tree1ffe3fcae38b932de7ace29fed87dd4e98cf768a
parentdcda617a0c5160c73e0aa02813c871339ea08004
apparmor: fix replacement bug that adds new child to old parent

When set atomic replacement is used and the parent is updated before the
child, and the child did not exist in the old parent so there is no
direct replacement then the new child is incorrectly added to the old
parent. This results in the new parent not having the child(ren) that
it should and the old parent when being destroyed asserting the
following error.

AppArmor: policy_destroy: internal error, policy '<profile/name>' still
contains profiles

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