1 /* SPDX-License-Identifier: GPL-2.0-only */ 1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* 2 /* 3 * AppArmor security module 3 * AppArmor security module 4 * 4 * 5 * This file contains AppArmor resource limits 5 * This file contains AppArmor resource limits function definitions. 6 * 6 * 7 * Copyright (C) 1998-2008 Novell/SUSE 7 * Copyright (C) 1998-2008 Novell/SUSE 8 * Copyright 2009-2010 Canonical Ltd. 8 * Copyright 2009-2010 Canonical Ltd. 9 */ 9 */ 10 10 11 #ifndef __AA_RESOURCE_H 11 #ifndef __AA_RESOURCE_H 12 #define __AA_RESOURCE_H 12 #define __AA_RESOURCE_H 13 13 14 #include <linux/resource.h> 14 #include <linux/resource.h> 15 #include <linux/sched.h> 15 #include <linux/sched.h> 16 16 17 #include "apparmorfs.h" 17 #include "apparmorfs.h" 18 18 19 struct aa_profile; 19 struct aa_profile; 20 20 21 /* struct aa_rlimit - rlimit settings for the 21 /* struct aa_rlimit - rlimit settings for the profile 22 * @mask: which hard limits to set 22 * @mask: which hard limits to set 23 * @limits: rlimit values that override task l 23 * @limits: rlimit values that override task limits 24 * 24 * 25 * AppArmor rlimits are used to set confined t 25 * AppArmor rlimits are used to set confined task rlimits. Only the 26 * limits specified in @mask will be controlle 26 * limits specified in @mask will be controlled by apparmor. 27 */ 27 */ 28 struct aa_rlimit { 28 struct aa_rlimit { 29 unsigned int mask; 29 unsigned int mask; 30 struct rlimit limits[RLIM_NLIMITS]; 30 struct rlimit limits[RLIM_NLIMITS]; 31 }; 31 }; 32 32 33 extern struct aa_sfs_entry aa_sfs_entry_rlimit 33 extern struct aa_sfs_entry aa_sfs_entry_rlimit[]; 34 34 35 int aa_map_resource(int resource); 35 int aa_map_resource(int resource); 36 int aa_task_setrlimit(const struct cred *subj_ 36 int aa_task_setrlimit(const struct cred *subj_cred, struct aa_label *label, 37 struct task_struct *task 37 struct task_struct *task, 38 unsigned int resource, s 38 unsigned int resource, struct rlimit *new_rlim); 39 39 40 void __aa_transition_rlimits(struct aa_label * 40 void __aa_transition_rlimits(struct aa_label *old, struct aa_label *new); 41 41 42 static inline void aa_free_rlimit_rules(struct 42 static inline void aa_free_rlimit_rules(struct aa_rlimit *rlims) 43 { 43 { 44 /* NOP */ 44 /* NOP */ 45 } 45 } 46 46 47 #endif /* __AA_RESOURCE_H */ 47 #endif /* __AA_RESOURCE_H */ 48 48
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.