Hello - This is expected behavior. When a profile requested in the changeprofile operation has not been loaded into the kernel, the write() on /proc/PID/attr/current will fail with errno set to ENOENT.
This is documented in the aa_change_profile(2) man page: ENOENT The specified profile does not exist, or is not visible from the current Namespace. ** Changed in: apparmor (Ubuntu) Status: Incomplete => Invalid -- 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/1496877 Title: apparmor profile fails to load in Ubuntu 15.04 Status in apparmor package in Ubuntu: Invalid Bug description: With the latest Ubuntu 15.04 Vivid( Kernel 3.19), I tried to ran the sample program for aa_change_profile from the man page. Whenever I tried to execute the program, it says No such file or directory. I ran strace for this program, whenever aa_change_profile is called, looks like changeprofile is prefixed with profile. Not sure whether it is intended from asprintf called from aa_change_profile strace output write(3, "changeprofile i_cant_be_trusted_"..., 39) = -1 ENOENT (No such file or directory) To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/1496877/+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