Profile state should never crash apparmor. The userspace no matter it state should never be able to crash the kernel. Profiles go through a verification process before the kernel will make them available.
The "half" configured state may mean that not all apparmor profiles are loaded, or that some of the userspace functions aren't available but that should never result in a kernel oops. The userspace obviously got far enough along to replace some policy and from the kernel trace we can see that apparmor oopsed during profile replacement, after the profile has been verified and it is being activated kernel side. I believe this bug is already fixed by commit 57d3b8969c47b1dabeb9d122a88df2c14d4f1b9f UBUNTU: SAUCE: apparmor: fix vec_unique for vectors larger than 8 which was released in Ubuntu-4.4.0-37.56 ** Changed in: apparmor (Ubuntu) Status: Confirmed => Incomplete -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to apparmor in Ubuntu. https://bugs.launchpad.net/bugs/1615144 Title: BUG: unable to handle kernel NULL pointer dereference Status in apparmor package in Ubuntu: Incomplete Bug description: The latest update from the Xenial InRelease repository makes the following processes consume 100% CPU: thermald (1.5-2ubuntu2) imap (Dovecot 1:2.2.22-1ubuntu2) imap-login (Dovecot 1:2.2.22-1ubuntu2) and eventualy (after 1-2 minutes) render the system completely unresponsive. "NMI watchdog: Watchdog detected hard LOCKUP on cpu 0". I was able to recreate the problem on my test system, so whatever is missing in this report should be easy to simulate on another system. All apparmor profiles are standard. # aa-status apparmor module is loaded. 49 profiles are loaded. 13 profiles are in enforce mode. /sbin/dhclient /usr/bin/freshclam /usr/lib/NetworkManager/nm-dhcp-client.action /usr/lib/NetworkManager/nm-dhcp-helper /usr/lib/chromium-browser/chromium-browser//browser_java /usr/lib/chromium-browser/chromium-browser//browser_openjdk /usr/lib/chromium-browser/chromium-browser//sanitized_helper /usr/lib/connman/scripts/dhclient-script /usr/sbin/clamd /usr/sbin/mysqld /usr/sbin/named /usr/sbin/ntpd /usr/sbin/tcpdump 36 profiles are in complain mode. /usr/lib/chromium-browser/chromium-browser /usr/lib/chromium-browser/chromium-browser//chromium_browser_sandbox /usr/lib/chromium-browser/chromium-browser//lsb_release /usr/lib/chromium-browser/chromium-browser//xdgsettings /usr/lib/dovecot/anvil /usr/lib/dovecot/auth /usr/lib/dovecot/config /usr/lib/dovecot/deliver /usr/lib/dovecot/dict /usr/lib/dovecot/dovecot-lda /usr/lib/dovecot/dovecot-lda///usr/sbin/sendmail /usr/lib/dovecot/imap /usr/lib/dovecot/imap-login /usr/lib/dovecot/lmtp /usr/lib/dovecot/log /usr/lib/dovecot/managesieve /usr/lib/dovecot/managesieve-login /usr/lib/dovecot/pop3 /usr/lib/dovecot/pop3-login /usr/lib/dovecot/ssl-params /usr/sbin/avahi-daemon /usr/sbin/dnsmasq /usr/sbin/dnsmasq//libvirt_leaseshelper /usr/sbin/dovecot /usr/sbin/identd /usr/sbin/mdnsd /usr/sbin/nmbd /usr/sbin/nscd /usr/sbin/smbd /usr/sbin/smbldap-useradd /usr/sbin/smbldap-useradd///etc/init.d/nscd /usr/{sbin/traceroute,bin/traceroute.db} /{usr/,}bin/ping klogd syslog-ng syslogd 25 processes have profiles defined. 5 processes are in enforce mode. /usr/bin/freshclam (2942) /usr/sbin/clamd (3080) /usr/sbin/mysqld (3767) /usr/sbin/named (3634) /usr/sbin/ntpd (3468) 20 processes are in complain mode. /usr/lib/dovecot/anvil (3827) /usr/lib/dovecot/auth (3845) /usr/lib/dovecot/auth (4503) /usr/lib/dovecot/config (3830) /usr/lib/dovecot/imap (6139) /usr/lib/dovecot/imap (6952) /usr/lib/dovecot/imap-login (3826) /usr/lib/dovecot/imap-login (3832) /usr/lib/dovecot/imap-login (6048) /usr/lib/dovecot/imap-login (7924) /usr/lib/dovecot/imap-login (12248) /usr/lib/dovecot/imap-login (12740) /usr/lib/dovecot/imap-login (12816) /usr/lib/dovecot/imap-login (14112) /usr/lib/dovecot/imap-login (14508) /usr/lib/dovecot/imap-login (14533) /usr/lib/dovecot/log (3828) /usr/lib/dovecot/managesieve-login (12794) /usr/lib/dovecot/ssl-params (4498) /usr/sbin/dovecot (3816) 0 processes are unconfined but have a profile defined. # uname -r 4.4.0-34-generic # apt-get install apparmor Reading package lists... Done Building dependency tree Reading state information... Done Suggested packages: apparmor-profiles-extra apparmor-docs apparmor-utils The following packages will be upgraded: apparmor 1 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. Need to get 446 kB of archives. After this operation, 4,096 B of additional disk space will be used. Get:1 http://se.archive.ubuntu.com/ubuntu xenial-updates/main amd64 apparmor amd64 2.10.95-0ubuntu2.2 [446 kB] Fetched 446 kB in 0s (4,172 kB/s) Preconfiguring packages ... (Reading database ... 115108 files and directories currently installed.) Preparing to unpack .../apparmor_2.10.95-0ubuntu2.2_amd64.deb ... Unpacking apparmor (2.10.95-0ubuntu2.2) over (2.10.95-0ubuntu2) ... Processing triggers for systemd (229-4ubuntu7) ... Processing triggers for ureadahead (0.100.0-19) ... Processing triggers for man-db (2.7.5-1) ... Setting up apparmor (2.10.95-0ubuntu2.2) ... Installing new version of config file /etc/apparmor.d/abstractions/dbus-session-strict ... update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults /var/log/kern.log: Aug 19 22:52:05 beta kernel: [714135.698652] audit: type=1400 audit(1471639925.925:2053): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/{usr/,}bin/ping" pid=9270 comm="apparmor_parser" Aug 19 22:52:05 beta kernel: [714135.761699] audit: type=1400 audit(1471639925.985:2054): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="klogd" pid=9273 comm="apparmor_parser" Aug 19 22:52:06 beta kernel: [714135.854113] audit: type=1400 audit(1471639926.081:2055): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/sbin/dhclient" pid=9271 comm="apparmor_parser" Aug 19 22:52:06 beta kernel: [714135.854450] audit: type=1400 audit(1471639926.081:2056): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/lib/NetworkManager/nm-dhcp-client.action" pid=9271 comm="apparmor_parser" Aug 19 22:52:06 beta kernel: [714135.854834] audit: type=1400 audit(1471639926.081:2057): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/lib/NetworkManager/nm-dhcp-helper" pid=9271 comm="apparmor_parser" Aug 19 22:52:06 beta kernel: [714135.855118] audit: type=1400 audit(1471639926.081:2058): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/lib/connman/scripts/dhclient-script" pid=9271 comm="apparmor_parser" Aug 19 22:52:06 beta kernel: [714135.859237] audit: type=1400 audit(1471639926.085:2059): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="syslogd" pid=9275 comm="apparmor_parser" Aug 19 22:52:06 beta kernel: [714135.971474] audit: type=1400 audit(1471639926.197:2060): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="syslog-ng" pid=9277 comm="apparmor_parser" Aug 19 22:52:06 beta kernel: [714136.022994] audit: type=1400 audit(1471639926.249:2061): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/lib/dovecot/anvil" pid=9281 comm="apparmor_parser" Aug 19 22:52:06 beta kernel: [714136.023132] ------------[ cut here ]------------ Aug 19 22:52:06 beta kernel: [714136.023191] WARNING: CPU: 1 PID: 9281 at /build/linux-5vkMGy/linux-4.4.0/security/apparmor/label.c:142 profile_cmp+0xed/0x180() Aug 19 22:52:06 beta kernel: [714136.023193] AppArmor WARN profile_cmp: ((!b)): Aug 19 22:52:06 beta kernel: [714136.023197] Modules linked in: udp_diag tcp_diag inet_diag nfnetlink_queue nfnetlink_log nfnetlink bluetooth xt_recent binfmt_misc btrfs xor raid6_pq ufs qnx4 hfsplus hfs minix ntfs msdos jfs xfs libcrc32c vmw_vsock_vmci_transport vsock ppdev coretemp crct10dif_pclmul crc32_pclmul vmw_balloon cryptd joydev input_leds serio_raw 8250_fintek parport_pc shpchp vmw_vmci i2c_piix4 mac_hid ip6t_REJECT nf_reject_ipv6 nf_log_ipv6 xt_hl nf_conntrack_ipv6 nf_defrag_ipv6 ip6t_rt ipt_REJECT nf_reject_ipv4 xt_comment nf_log_ipv4 nf_log_common xt_LOG xt_multiport xt_limit xt_tcpudp nf_conntrack_ipv4 nf_defrag_ipv4 xt_addrtype xt_conntrack ip6table_filter ip6_tables nf_conntrack_netbios_ns nf_conntrack_broadcast nf_nat_ftp nf_nat nf_conntrack_ftp nf_conntrack iptable_filter ip_tables x_tables lp parport autofs4 psmouse vmxnet3 vmwgfx ttm vmw_pvscsi drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops pata_acpi drm floppy fjes Aug 19 22:52:06 beta kernel: [714136.023318] CPU: 1 PID: 9281 Comm: apparmor_parser Not tainted 4.4.0-34-generic #53-Ubuntu Aug 19 22:52:06 beta kernel: [714136.023320] Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 04/14/2014 Aug 19 22:52:06 beta kernel: [714136.023322] 0000000000000086 0000000008f1575b ffff880008b87c00 ffffffff813f11b3 Aug 19 22:52:06 beta kernel: [714136.023324] ffff880008b87c48 ffffffff81cf08e8 ffff880008b87c38 ffffffff81081102 Aug 19 22:52:06 beta kernel: [714136.023326] ffff88003c0a8400 0000000000000000 0000000000000009 0000000000000000 Aug 19 22:52:06 beta kernel: [714136.023328] Call Trace: Aug 19 22:52:06 beta kernel: [714136.023346] [<ffffffff813f11b3>] dump_stack+0x63/0x90 Aug 19 22:52:06 beta kernel: [714136.023360] [<ffffffff81081102>] warn_slowpath_common+0x82/0xc0 Aug 19 22:52:06 beta kernel: [714136.023362] [<ffffffff8108119c>] warn_slowpath_fmt+0x5c/0x80 Aug 19 22:52:06 beta kernel: [714136.023369] [<ffffffff813ffc40>] ? u32_swap+0x10/0x10 Aug 19 22:52:06 beta kernel: [714136.023371] [<ffffffff8139072d>] profile_cmp+0xed/0x180 Aug 19 22:52:06 beta kernel: [714136.023373] [<ffffffff81391843>] aa_vec_unique+0x163/0x240 Aug 19 22:52:06 beta kernel: [714136.023376] [<ffffffff81395ab7>] __aa_labelset_update_subtree+0x687/0x820 Aug 19 22:52:06 beta kernel: [714136.023379] [<ffffffff8138897b>] aa_replace_profiles+0x59b/0xb70 Aug 19 22:52:06 beta kernel: [714136.023388] [<ffffffff811ecf4e>] ? __kmalloc+0x22e/0x250 Aug 19 22:52:06 beta kernel: [714136.023391] [<ffffffff8137d69f>] policy_update+0x9f/0x1f0 Aug 19 22:52:06 beta kernel: [714136.023393] [<ffffffff8137d803>] profile_replace+0x13/0x20 Aug 19 22:52:06 beta kernel: [714136.023401] [<ffffffff8120c9d8>] __vfs_write+0x18/0x40 Aug 19 22:52:06 beta kernel: [714136.023403] [<ffffffff8120d369>] vfs_write+0xa9/0x1a0 Aug 19 22:52:06 beta kernel: [714136.023406] [<ffffffff8120c2ff>] ? do_sys_open+0x1bf/0x2a0 Aug 19 22:52:06 beta kernel: [714136.023408] [<ffffffff8120e025>] SyS_write+0x55/0xc0 Aug 19 22:52:06 beta kernel: [714136.023421] [<ffffffff8182def2>] entry_SYSCALL_64_fastpath+0x16/0x71 Aug 19 22:52:06 beta kernel: [714136.023423] ---[ end trace 9f21e4366b6b8d2d ]--- Aug 19 22:52:06 beta kernel: [714136.023437] BUG: unable to handle kernel NULL pointer dereference at 0000000000000038 Aug 19 22:52:06 beta kernel: [714136.023531] IP: [<ffffffff8139066f>] profile_cmp+0x2f/0x180 Aug 19 22:52:06 beta kernel: [714136.023596] PGD 35afe067 PUD 3d556067 PMD 0 Aug 19 22:52:06 beta kernel: [714136.023694] Oops: 0000 [#1] SMP Aug 19 22:52:06 beta kernel: [714136.023755] Modules linked in: udp_diag tcp_diag inet_diag nfnetlink_queue nfnetlink_log nfnetlink bluetooth xt_recent binfmt_misc btrfs xor raid6_pq ufs qnx4 hfsplus hfs minix ntfs msdos jfs xfs libcrc32c vmw_vsock_vmci_transport vsock ppdev coretemp crct10dif_pclmul crc32_pclmul vmw_balloon cryptd joydev input_leds serio_raw 8250_fintek parport_pc shpchp vmw_vmci i2c_piix4 mac_hid ip6t_REJECT nf_reject_ipv6 nf_log_ipv6 xt_hl nf_conntrack_ipv6 nf_defrag_ipv6 ip6t_rt ipt_REJECT nf_reject_ipv4 xt_comment nf_log_ipv4 nf_log_common xt_LOG xt_multiport xt_limit xt_tcpudp nf_conntrack_ipv4 nf_defrag_ipv4 xt_addrtype xt_conntrack ip6table_filter ip6_tables nf_conntrack_netbios_ns nf_conntrack_broadcast nf_nat_ftp nf_nat nf_conntrack_ftp nf_conntrack iptable_filter ip_tables x_tables lp parport autofs4 psmouse vmxnet3 vmwgfx ttm vmw_pvscsi drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops pata_acpi drm floppy fjes Aug 19 22:52:06 beta kernel: [714136.024610] CPU: 1 PID: 9281 Comm: apparmor_parser Tainted: G W 4.4.0-34-generic #53-Ubuntu Aug 19 22:52:06 beta kernel: [714136.024689] Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 04/14/2014 Aug 19 22:52:06 beta kernel: [714136.024737] task: ffff880026688cc0 ti: ffff880008b84000 task.ti: ffff880008b84000 Aug 19 22:52:06 beta kernel: [714136.024770] RIP: 0010:[<ffffffff8139066f>] [<ffffffff8139066f>] profile_cmp+0x2f/0x180 Aug 19 22:52:06 beta kernel: [714136.024823] RSP: 0018:ffff880008b87cb0 EFLAGS: 00010086 Aug 19 22:52:06 beta kernel: [714136.025096] RAX: 0000000000000000 RBX: ffff88003c0a8400 RCX: 0000000000000006 Aug 19 22:52:06 beta kernel: [714136.025170] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000009 Aug 19 22:52:06 beta kernel: [714136.025281] RBP: ffff880008b87cc0 R08: 000000005b2d2d2d R09: 00000000000084d1 Aug 19 22:52:06 beta kernel: [714136.025355] R10: 69666f7270204e52 R11: 00000000000084d1 R12: 0000000000000000 Aug 19 22:52:06 beta kernel: [714136.025425] R13: 0000000000000009 R14: 0000000000000000 R15: ffff88003503d050 Aug 19 22:52:06 beta kernel: [714136.025497] FS: 00007fc95d227740(0000) GS:ffff88003fd00000(0000) knlGS:0000000000000000 Aug 19 22:52:06 beta kernel: [714136.025572] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 Aug 19 22:52:06 beta kernel: [714136.025634] CR2: 0000000000000038 CR3: 0000000017d43000 CR4: 00000000000406e0 Aug 19 22:52:06 beta kernel: [714136.025794] Stack: Aug 19 22:52:06 beta kernel: [714136.025837] 000000000000000a ffff88003503d0a0 ffff880008b87d08 ffffffff81391843 Aug 19 22:52:06 beta kernel: [714136.025916] 000000013475e830 ffff88000000000a ffff88003503d050 ffff88003c0a8760 Aug 19 22:52:06 beta kernel: [714136.025994] ffff88003b6f4cc8 ffff88003503d000 ffff88003b6f4cc0 ffff880008b87d98 Aug 19 22:52:06 beta kernel: [714136.026072] Call Trace: Aug 19 22:52:06 beta kernel: [714136.027329] [<ffffffff81391843>] aa_vec_unique+0x163/0x240 Aug 19 22:52:06 beta kernel: [714136.028403] [<ffffffff81395ab7>] __aa_labelset_update_subtree+0x687/0x820 Aug 19 22:52:06 beta kernel: [714136.029473] [<ffffffff8138897b>] aa_replace_profiles+0x59b/0xb70 Aug 19 22:52:06 beta kernel: [714136.030541] [<ffffffff811ecf4e>] ? __kmalloc+0x22e/0x250 Aug 19 22:52:06 beta kernel: [714136.031622] [<ffffffff8137d69f>] policy_update+0x9f/0x1f0 Aug 19 22:52:06 beta kernel: [714136.032684] [<ffffffff8137d803>] profile_replace+0x13/0x20 Aug 19 22:52:06 beta kernel: [714136.033699] [<ffffffff8120c9d8>] __vfs_write+0x18/0x40 Aug 19 22:52:06 beta kernel: [714136.034714] [<ffffffff8120d369>] vfs_write+0xa9/0x1a0 Aug 19 22:52:06 beta kernel: [714136.035728] [<ffffffff8120c2ff>] ? do_sys_open+0x1bf/0x2a0 Aug 19 22:52:06 beta kernel: [714136.036643] [<ffffffff8120e025>] SyS_write+0x55/0xc0 Aug 19 22:52:06 beta kernel: [714136.037570] [<ffffffff8182def2>] entry_SYSCALL_64_fastpath+0x16/0x71 Aug 19 22:52:06 beta kernel: [714136.038633] Code: 00 55 48 85 ff 48 89 e5 41 54 53 49 89 f4 48 89 fb 0f 84 8b 00 00 00 4d 85 e4 0f 84 aa 00 00 00 48 83 7b 38 00 0f 84 c9 00 00 00 <49> 83 7c 24 38 00 0f 84 e8 00 00 00 48 83 7b 08 00 0f 84 07 01 Aug 19 22:52:06 beta kernel: [714136.041564] RIP [<ffffffff8139066f>] profile_cmp+0x2f/0x180 Aug 19 22:52:06 beta kernel: [714136.042473] RSP <ffff880008b87cb0> Aug 19 22:52:06 beta kernel: [714136.043290] CR2: 0000000000000038 Aug 19 22:52:06 beta kernel: [714136.045634] ---[ end trace 9f21e4366b6b8d2e ]--- # ps -ef | grep dpkg root 9208 1 0 22:52 ? 00:00:00 /usr/bin/dpkg --status-fd 41 --configure apparmor:amd64 root 9209 9208 0 22:52 ? 00:00:00 /usr/bin/perl -w /usr/share/debconf/frontend /var/lib/dpkg/info/apparmor.postinst configure 2.10.95-0ubuntu2 root 9216 9209 0 22:52 ? 00:00:00 /bin/sh /var/lib/dpkg/info/apparmor.postinst configure 2.10.95-0ubuntu2 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/1615144/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp