secid.h 988 B

12345678910111213141516171819202122232425262728293031323334353637
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * AppArmor security module
  4. *
  5. * This file contains AppArmor security identifier (secid) definitions
  6. *
  7. * Copyright 2009-2018 Canonical Ltd.
  8. */
  9. #ifndef __AA_SECID_H
  10. #define __AA_SECID_H
  11. #include <linux/slab.h>
  12. #include <linux/types.h>
  13. struct aa_label;
  14. /* secid value that will not be allocated */
  15. #define AA_SECID_INVALID 0
  16. /* secid value that matches any other secid */
  17. #define AA_SECID_WILDCARD 1
  18. /* sysctl to enable displaying mode when converting secid to secctx */
  19. extern int apparmor_display_secid_mode;
  20. struct aa_label *aa_secid_to_label(u32 secid);
  21. int apparmor_secid_to_secctx(u32 secid, char **secdata, u32 *seclen);
  22. int apparmor_secctx_to_secid(const char *secdata, u32 seclen, u32 *secid);
  23. void apparmor_release_secctx(char *secdata, u32 seclen);
  24. int aa_alloc_secid(struct aa_label *label, gfp_t gfp);
  25. void aa_free_secid(u32 secid);
  26. void aa_secid_update(u32 secid, struct aa_label *label);
  27. #endif /* __AA_SECID_H */