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