Loading...
1/*
2 * AppArmor security module
3 *
4 * This file contains AppArmor security domain transition 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#include <linux/binfmts.h>
16#include <linux/types.h>
17
18#ifndef __AA_DOMAIN_H
19#define __AA_DOMAIN_H
20
21struct aa_domain {
22 int size;
23 char **table;
24};
25
26int apparmor_bprm_set_creds(struct linux_binprm *bprm);
27int apparmor_bprm_secureexec(struct linux_binprm *bprm);
28void apparmor_bprm_committing_creds(struct linux_binprm *bprm);
29void apparmor_bprm_committed_creds(struct linux_binprm *bprm);
30
31void aa_free_domain_entries(struct aa_domain *domain);
32int aa_change_hat(const char *hats[], int count, u64 token, bool permtest);
33int aa_change_profile(const char *ns_name, const char *name, bool onexec,
34 bool permtest);
35
36#endif /* __AA_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#define AA_CHANGE_NOFLAGS 0
20#define AA_CHANGE_TEST 1
21#define AA_CHANGE_CHILD 2
22#define AA_CHANGE_ONEXEC 4
23#define AA_CHANGE_STACK 8
24
25struct aa_label *x_table_lookup(struct aa_profile *profile, u32 xindex,
26 const char **name);
27
28int apparmor_bprm_creds_for_exec(struct linux_binprm *bprm);
29
30int aa_change_hat(const char *hats[], int count, u64 token, int flags);
31int aa_change_profile(const char *fqname, int flags);
32
33#endif /* __AA_DOMAIN_H */