apparmor may fail to load some profiles if one is corrupted
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
AppArmor |
Fix Committed
|
Medium
|
Unassigned | ||
apparmor (Ubuntu) |
Fix Released
|
Medium
|
Steve Beattie | ||
apparmor (Ubuntu RTM) |
Fix Released
|
High
|
Jamie Strandboge | ||
click-apparmor (Ubuntu) |
Fix Released
|
Critical
|
Jamie Strandboge | ||
click-apparmor (Ubuntu RTM) |
Fix Released
|
Critical
|
Jamie Strandboge |
Bug Description
Steps to reproduce (on the emulator):
1. sudo sh -c 'echo foo > /var/lib/
2. sudo start apparmor ACTION=teardown
3. sudo start apparmor
start: Job failed to start
4. sudo aa-status|egrep '^ '|grep -v '('| sort -u > /tmp/aa-
5. sudo rm -f /var/lib/
6. sudo aa-clickhook # regenerates the missing profile to had a good one
7. sudo start apparmor ACTION=teardown
8. sudo start apparmor
9. sudo aa-status|egrep '^ '|grep -v '('| sort -u > /tmp/aa-
10. diff -Naur /tmp/aa-
--- /tmp/aa-
+++ /tmp/aa-
@@ -13,6 +13,10 @@
com.
com.
com.
+ com.ubuntu.
+ com.ubuntu.
+ com.ubuntu.
+ com.ubuntu.
lxc-
lxc-
lxc-
Expected results: only com.ubuntu.
Changed in apparmor (Ubuntu): | |
importance: | Undecided → Critical |
description: | updated |
Changed in apparmor (Ubuntu): | |
status: | New → In Progress |
assignee: | nobody → Steve Beattie (sbeattie) |
tags: | added: rtm14 touch-2014-10-09 |
Changed in apparmor (Ubuntu RTM): | |
status: | New → In Progress |
importance: | Undecided → Critical |
assignee: | nobody → Jamie Strandboge (jdstrand) |
Changed in click-apparmor (Ubuntu): | |
status: | In Progress → Fix Released |
tags: | added: aa-parser |
The cause of the corruption is believed to be an interaction between the click-system-hooks and the apparmor upstart jobs. click-apparmor will be adjusted to use a blocking lockfile to avoid the corruption. As such, the apparmor task priority can be reduced.
After discussing with the apparmor team, fixing the parser bug can (and should be done) but it more involved that the cache bug and we can't fix it in time for rtm. If the lockfile doesn't fully address this issue, we can go back to using '-n1' with xargs unconditionally in /lib/apparmor/ functions.