#ifndef __AA_TASK_H
#define __AA_TASK_H
static inline struct aa_task_ctx *task_ctx(struct task_struct *task)
{ … }
struct aa_task_ctx { … };
int aa_replace_current_label(struct aa_label *label);
void aa_set_current_onexec(struct aa_label *label, bool stack);
int aa_set_current_hat(struct aa_label *label, u64 token);
int aa_restore_previous_label(u64 cookie);
struct aa_label *aa_get_task_label(struct task_struct *task);
static inline void aa_free_task_ctx(struct aa_task_ctx *ctx)
{ … }
static inline void aa_dup_task_ctx(struct aa_task_ctx *new,
const struct aa_task_ctx *old)
{ … }
static inline void aa_clear_task_ctx_trans(struct aa_task_ctx *ctx)
{ … }
#define AA_PTRACE_TRACE …
#define AA_PTRACE_READ …
#define AA_MAY_BE_TRACED …
#define AA_MAY_BE_READ …
#define PTRACE_PERM_SHIFT …
#define AA_PTRACE_PERM_MASK …
#define AA_SIGNAL_PERM_MASK …
#define AA_SFS_SIG_MASK …
int aa_may_ptrace(const struct cred *tracer_cred, struct aa_label *tracer,
const struct cred *tracee_cred, struct aa_label *tracee,
u32 request);
#define AA_USERNS_CREATE …
int aa_profile_ns_perm(struct aa_profile *profile,
struct apparmor_audit_data *ad, u32 request);
#endif