linux-stable/security/apparmor/include
Jann Horn 1f8266ff58 apparmor: don't try to replace stale label in ptrace access check
As a comment above begin_current_label_crit_section() explains,
begin_current_label_crit_section() must run in sleepable context because
when label_is_stale() is true, aa_replace_current_label() runs, which uses
prepare_creds(), which can sleep.
Until now, the ptrace access check (which runs with a task lock held)
violated this rule.

Also add a might_sleep() assertion to begin_current_label_crit_section(),
because asserts are less likely to be ignored than comments.

Fixes: b2d09ae449 ("apparmor: move ptrace checks to using labels")
Signed-off-by: Jann Horn <jannh@google.com>
Signed-off-by: John Johansen <john.johansen@canonical.com>
2018-09-13 09:44:56 -07:00
..
apparmor.h apparmor: add base infastructure for socket mediation 2018-03-13 17:25:48 -07:00
apparmorfs.h apparmor: add policy revision file interface 2017-06-10 17:11:27 -07:00
audit.h apparmor: Add support for audit rule filtering 2018-06-07 01:50:47 -07:00
capability.h apparmor: move capability checks to using labels 2017-06-10 17:11:40 -07:00
cred.h apparmor: don't try to replace stale label in ptrace access check 2018-09-13 09:44:56 -07:00
crypto.h apparmor: allow introspecting the loaded policy pre internal transform 2017-01-16 01:18:42 -08:00
domain.h + Features 2017-09-23 05:33:29 -10:00
file.h apparmor: Refactor to remove bprm_secureexec hook 2017-08-01 12:03:06 -07:00
ipc.h apparmor: add the ability to mediate signals 2017-09-22 13:00:57 -07:00
label.h apparmor: add support for mapping secids and using secctxes 2018-05-02 00:48:55 -07:00
lib.h Rename superblock flags (MS_xyz -> SB_xyz) 2017-11-27 13:05:09 -08:00
match.h apparmor: improve overlapping domain attachment resolution 2018-02-09 11:30:02 -08:00
mount.h apparmor: add mount mediation 2017-09-22 13:00:57 -07:00
net.h apparmor: add base infastructure for socket mediation 2018-03-13 17:25:48 -07:00
path.h apparmor: improve get_buffers macro by using get_cpu_ptr 2018-06-07 01:49:21 -07:00
perms.h apparmor: Check buffer bounds when mapping permissions mask 2018-07-19 16:24:43 -07:00
policy.h apparmor: remove POLICY_MEDIATES_SAFE 2018-03-13 17:25:49 -07:00
policy_ns.h apparmor: switch from profiles to using labels on contexts 2017-06-10 17:11:38 -07:00
policy_unpack.h apparmor: split load data into management struct and data blob 2018-02-09 11:30:00 -08:00
procattr.h apparmor: switch getprocattr to using label_print fns() 2017-06-10 17:11:39 -07:00
resource.h apparmor: move resource checks to using labels 2017-06-10 17:11:40 -07:00
secid.h apparmor: fixup secid map conversion to using IDR 2018-06-07 01:50:49 -07:00
sig_names.h apparmor: audit unknown signal numbers 2018-02-09 11:30:01 -08:00
task.h apparmor: update domain transitions that are subsets of confinement at nnp 2018-02-09 11:30:01 -08:00