Merge tag 'block-5.12-2021-02-27' of git://git.kernel.dk/linux-block
[linux-2.6-microblaze.git] / security / apparmor / include / domain.h
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * AppArmor security module
4  *
5  * This file contains AppArmor security domain transition function definitions.
6  *
7  * Copyright (C) 1998-2008 Novell/SUSE
8  * Copyright 2009-2010 Canonical Ltd.
9  */
10
11 #include <linux/binfmts.h>
12 #include <linux/types.h>
13
14 #include "label.h"
15
16 #ifndef __AA_DOMAIN_H
17 #define __AA_DOMAIN_H
18
19 struct aa_domain {
20         int size;
21         char **table;
22 };
23
24 #define AA_CHANGE_NOFLAGS 0
25 #define AA_CHANGE_TEST 1
26 #define AA_CHANGE_CHILD 2
27 #define AA_CHANGE_ONEXEC  4
28 #define AA_CHANGE_STACK 8
29
30 struct aa_label *x_table_lookup(struct aa_profile *profile, u32 xindex,
31                                 const char **name);
32
33 int apparmor_bprm_creds_for_exec(struct linux_binprm *bprm);
34
35 void aa_free_domain_entries(struct aa_domain *domain);
36 int aa_change_hat(const char *hats[], int count, u64 token, int flags);
37 int aa_change_profile(const char *fqname, int flags);
38
39 #endif /* __AA_DOMAIN_H */