1 /* 2 * AppArmor security module 3 * 4 * This file contains AppArmor resource limits function definitions. 5 * 6 * Copyright (C) 1998-2008 Novell/SUSE 7 * Copyright 2009-2010 Canonical Ltd. 8 * 9 * This program is free software; you can redistribute it and/or 10 * modify it under the terms of the GNU General Public License as 11 * published by the Free Software Foundation, version 2 of the 12 * License. 13 */ 14 15 #ifndef __AA_RESOURCE_H 16 #define __AA_RESOURCE_H 17 18 #include <linux/resource.h> 19 #include <linux/sched.h> 20 21 struct aa_profile; 22 23 /* struct aa_rlimit - rlimit settings for the profile 24 * @mask: which hard limits to set 25 * @limits: rlimit values that override task limits 26 * 27 * AppArmor rlimits are used to set confined task rlimits. Only the 28 * limits specified in @mask will be controlled by apparmor. 29 */ 30 struct aa_rlimit { 31 unsigned int mask; 32 struct rlimit limits[RLIM_NLIMITS]; 33 }; 34 35 int aa_map_resource(int resource); 36 int aa_task_setrlimit(struct aa_profile *profile, struct task_struct *, 37 unsigned int resource, struct rlimit *new_rlim); 38 39 void __aa_transition_rlimits(struct aa_profile *old, struct aa_profile *new); 40 aa_free_rlimit_rules(struct aa_rlimit * rlims)41static inline void aa_free_rlimit_rules(struct aa_rlimit *rlims) 42 { 43 /* NOP */ 44 } 45 46 #endif /* __AA_RESOURCE_H */ 47