1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* 3 * AppArmor security module 4 * 5 * This file contains AppArmor basic global 6 * 7 * Copyright (C) 1998-2008 Novell/SUSE 8 * Copyright 2009-2017 Canonical Ltd. 9 */ 10 11 #ifndef __APPARMOR_H 12 #define __APPARMOR_H 13 14 #include <linux/types.h> 15 16 /* 17 * Class of mediation types in the AppArmor policy db 18 */ 19 #define AA_CLASS_NONE 0 20 #define AA_CLASS_UNKNOWN 1 21 #define AA_CLASS_FILE 2 22 #define AA_CLASS_CAP 3 23 #define AA_CLASS_DEPRECATED 4 24 #define AA_CLASS_RLIMITS 5 25 #define AA_CLASS_DOMAIN 6 26 #define AA_CLASS_MOUNT 7 27 #define AA_CLASS_PTRACE 9 28 #define AA_CLASS_SIGNAL 10 29 #define AA_CLASS_XMATCH 11 30 #define AA_CLASS_NET 14 31 #define AA_CLASS_NETV9 15 32 #define AA_CLASS_LABEL 16 33 #define AA_CLASS_POSIX_MQUEUE 17 34 #define AA_CLASS_MODULE 19 35 #define AA_CLASS_DISPLAY_LSM 20 36 #define AA_CLASS_NS 21 37 #define AA_CLASS_IO_URING 22 38 39 #define AA_CLASS_X 31 40 #define AA_CLASS_DBUS 32 41 42 /* NOTE: if AA_CLASS_LAST > 63 need to update label->mediates */ 43 #define AA_CLASS_LAST AA_CLASS_DBUS 44 45 /* Control parameters settable through module/boot flags */ 46 extern enum audit_mode aa_g_audit; 47 extern bool aa_g_audit_header; 48 extern int aa_g_debug; 49 extern bool aa_g_hash_policy; 50 extern bool aa_g_export_binary; 51 extern int aa_g_rawdata_compression_level; 52 extern bool aa_g_lock_policy; 53 extern bool aa_g_logsyscall; 54 extern bool aa_g_paranoid_load; 55 extern unsigned int aa_g_path_max; 56 57 #ifdef CONFIG_SECURITY_APPARMOR_EXPORT_BINARY 58 #define AA_MIN_CLEVEL zstd_min_clevel() 59 #define AA_MAX_CLEVEL zstd_max_clevel() 60 #define AA_DEFAULT_CLEVEL ZSTD_CLEVEL_DEFAULT 61 #else 62 #define AA_MIN_CLEVEL 0 63 #define AA_MAX_CLEVEL 0 64 #define AA_DEFAULT_CLEVEL 0 65 #endif /* CONFIG_SECURITY_APPARMOR_EXPORT_BINARY */ 66 67 68 #endif /* __APPARMOR_H */ 69