capability.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /*
  2. * AppArmor security module
  3. *
  4. * This file contains AppArmor capability mediation 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. #ifndef __AA_CAPABILITY_H
  15. #define __AA_CAPABILITY_H
  16. #include <linux/sched.h>
  17. struct aa_profile;
  18. /* aa_caps - confinement data for capabilities
  19. * @allowed: capabilities mask
  20. * @audit: caps that are to be audited
  21. * @quiet: caps that should not be audited
  22. * @kill: caps that when requested will result in the task being killed
  23. * @extended: caps that are subject finer grained mediation
  24. */
  25. struct aa_caps {
  26. kernel_cap_t allow;
  27. kernel_cap_t audit;
  28. kernel_cap_t quiet;
  29. kernel_cap_t kill;
  30. kernel_cap_t extended;
  31. };
  32. int aa_capable(struct task_struct *task, struct aa_profile *profile, int cap,
  33. int audit);
  34. static inline void aa_free_cap_rules(struct aa_caps *caps)
  35. {
  36. /* NOP */
  37. }
  38. #endif /* __AA_CAPBILITY_H */