mirror of
https://github.com/team-infusion-developers/android_kernel_samsung_msm8976.git
synced 2024-11-01 10:33:27 +00:00
0ed3b28ab8
ipc: AppArmor ipc is currently limited to mediation done by file mediation and basic ptrace tests. Improved mediation is a wip. rlimits: AppArmor provides basic abilities to set and control rlimits at a per profile level. Only resources specified in a profile are controled or set. AppArmor rules set the hard limit to a value <= to the current hard limit (ie. they can not currently raise hard limits), and if necessary will lower the soft limit to the new hard limit value. AppArmor does not track resource limits to reset them when a profile is left so that children processes inherit the limits set by the parent even if they are not confined by the same profile. Capabilities: AppArmor provides a per profile mask of capabilities, that will further restrict. Signed-off-by: John Johansen <john.johansen@canonical.com> Signed-off-by: James Morris <jmorris@namei.org>
45 lines
1.1 KiB
C
45 lines
1.1 KiB
C
/*
|
|
* AppArmor security module
|
|
*
|
|
* This file contains AppArmor capability mediation definitions.
|
|
*
|
|
* Copyright (C) 1998-2008 Novell/SUSE
|
|
* Copyright 2009-2010 Canonical Ltd.
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License as
|
|
* published by the Free Software Foundation, version 2 of the
|
|
* License.
|
|
*/
|
|
|
|
#ifndef __AA_CAPABILITY_H
|
|
#define __AA_CAPABILITY_H
|
|
|
|
#include <linux/sched.h>
|
|
|
|
struct aa_profile;
|
|
|
|
/* aa_caps - confinement data for capabilities
|
|
* @allowed: capabilities mask
|
|
* @audit: caps that are to be audited
|
|
* @quiet: caps that should not be audited
|
|
* @kill: caps that when requested will result in the task being killed
|
|
* @extended: caps that are subject finer grained mediation
|
|
*/
|
|
struct aa_caps {
|
|
kernel_cap_t allow;
|
|
kernel_cap_t audit;
|
|
kernel_cap_t quiet;
|
|
kernel_cap_t kill;
|
|
kernel_cap_t extended;
|
|
};
|
|
|
|
int aa_capable(struct task_struct *task, struct aa_profile *profile, int cap,
|
|
int audit);
|
|
|
|
static inline void aa_free_cap_rules(struct aa_caps *caps)
|
|
{
|
|
/* NOP */
|
|
}
|
|
|
|
#endif /* __AA_CAPBILITY_H */
|