alistair23-linux/security
John Johansen 2e680dd61e apparmor: fix IRQ stack overflow during free_profile
BugLink: http://bugs.launchpad.net/bugs/1056078

Profile replacement can cause long chains of profiles to build up when
the profile being replaced is pinned. When the pinned profile is finally
freed, it puts the reference to its replacement, which may in turn nest
another call to free_profile on the stack. Because this may happen for
each profile in the replacedby chain this can result in a recusion that
causes the stack to overflow.

Break this nesting by directly walking the chain of replacedby profiles
(ie. use iteration instead of recursion to free the list). This results
in at most 2 levels of free_profile being called, while freeing a
replacedby chain.

Signed-off-by: John Johansen <john.johansen@canonical.com>
Signed-off-by: James Morris <james.l.morris@oracle.com>
2012-10-25 02:12:50 +11:00
..
apparmor apparmor: fix IRQ stack overflow during free_profile 2012-10-25 02:12:50 +11:00
integrity ima: fix bug in argument order 2012-10-05 22:32:16 +10:00
keys Merge branch 'modules-next' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux 2012-10-14 13:39:34 -07:00
selinux fix a leak in replace_fd() users 2012-10-16 13:36:50 -04:00
smack consitify do_mount() arguments 2012-10-11 20:02:04 -04:00
tomoyo consitify do_mount() arguments 2012-10-11 20:02:04 -04:00
yama Linux 3.6-rc7 2012-09-28 13:37:32 +10:00
capability.c consitify do_mount() arguments 2012-10-11 20:02:04 -04:00
commoncap.c split ->file_mmap() into ->mmap_addr()/->mmap_file() 2012-05-31 13:11:54 -04:00
device_cgroup.c device_cgroup: rename whitelist to exception list 2012-10-06 03:05:14 +09:00
inode.c
Kconfig KEYS: Move the key config into security/keys/Kconfig 2012-05-11 10:56:56 +01:00
lsm_audit.c LSM: BUILD_BUG_ON if the common_audit_data union ever grows 2012-04-09 12:23:03 -04:00
Makefile
min_addr.c
security.c consitify do_mount() arguments 2012-10-11 20:02:04 -04:00