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 | |
10 | #ifndef __AA_SECID_H |
11 | #define __AA_SECID_H |
12 | |
13 | #include <linux/slab.h> |
14 | #include <linux/types.h> |
15 | |
16 | struct aa_label; |
17 | |
18 | /* secid value that will not be allocated */ |
19 | #define AA_SECID_INVALID 0 |
20 | |
21 | /* secid value that matches any other secid */ |
22 | #define AA_SECID_WILDCARD 1 |
23 | |
24 | /* sysctl to enable displaying mode when converting secid to secctx */ |
25 | extern int apparmor_display_secid_mode; |
26 | |
27 | struct aa_label *aa_secid_to_label(u32 secid); |
28 | int apparmor_secid_to_secctx(u32 secid, char **secdata, u32 *seclen); |
29 | int apparmor_secctx_to_secid(const char *secdata, u32 seclen, u32 *secid); |
30 | void apparmor_release_secctx(char *secdata, u32 seclen); |
31 | |
32 | |
33 | int aa_alloc_secid(struct aa_label *label, gfp_t gfp); |
34 | void aa_free_secid(u32 secid); |
35 | void aa_secid_update(u32 secid, struct aa_label *label); |
36 | |
37 | #endif /* __AA_SECID_H */ |
38 | |