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 21struct 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 */ 30struct aa_rlimit { 31 unsigned int mask; 32 struct rlimit limits[RLIM_NLIMITS]; 33}; 34 35int aa_map_resource(int resource); 36int aa_task_setrlimit(struct aa_profile *profile, struct task_struct *, 37 unsigned int resource, struct rlimit *new_rlim); 38 39void __aa_transition_rlimits(struct aa_profile *old, struct aa_profile *new); 40 41static inline void aa_free_rlimit_rules(struct aa_rlimit *rlims) 42{ 43 /* NOP */ 44} 45 46#endif /* __AA_RESOURCE_H */ 47