blob: 348ed6cfa08a02f2d0aad87b2c552cb46913542f [file] [log] [blame]
Thomas Gleixnerec8f24b2019-05-19 13:07:45 +01001# SPDX-License-Identifier: GPL-2.0-only
John Johansen016d8252010-07-30 13:46:33 +10002config SECURITY_APPARMOR
3 bool "AppArmor support"
Randy Dunlap06c22da2010-08-02 10:52:18 -07004 depends on SECURITY && NET
John Johansen016d8252010-07-30 13:46:33 +10005 select AUDIT
6 select SECURITY_PATH
7 select SECURITYFS
8 select SECURITY_NETWORK
John Johansenfe166a92019-02-11 21:56:46 -08009 select ZLIB_INFLATE
10 select ZLIB_DEFLATE
John Johansen016d8252010-07-30 13:46:33 +100011 default n
12 help
13 This enables the AppArmor security module.
14 Required userspace tools (if they are not included in your
15 distribution) and further information may be found at
16 http://apparmor.wiki.kernel.org
17
18 If you are unsure how to answer this question, answer N.
19
John Johansenf8eb8a12013-08-14 11:27:36 -070020config SECURITY_APPARMOR_HASH
John Johansen6059f712014-10-24 09:16:14 -070021 bool "Enable introspection of sha1 hashes for loaded profiles"
John Johansenf8eb8a12013-08-14 11:27:36 -070022 depends on SECURITY_APPARMOR
Arnd Bergmann083c1292015-10-21 21:16:29 +020023 select CRYPTO
John Johansenf8eb8a12013-08-14 11:27:36 -070024 select CRYPTO_SHA1
25 default y
John Johansenf8eb8a12013-08-14 11:27:36 -070026 help
John Johansen6059f712014-10-24 09:16:14 -070027 This option selects whether introspection of loaded policy
28 is available to userspace via the apparmor filesystem.
29
30config SECURITY_APPARMOR_HASH_DEFAULT
31 bool "Enable policy hash introspection by default"
32 depends on SECURITY_APPARMOR_HASH
33 default y
John Johansen6059f712014-10-24 09:16:14 -070034 help
35 This option selects whether sha1 hashing of loaded policy
36 is enabled by default. The generation of sha1 hashes for
37 loaded policy provide system administrators a quick way
38 to verify that policy in the kernel matches what is expected,
39 however it can slow down policy load on some devices. In
40 these cases policy hashing can be disabled by default and
41 enabled only if needed.
John Johansen680cd622017-01-16 00:42:27 -080042
43config SECURITY_APPARMOR_DEBUG
44 bool "Build AppArmor with debug code"
45 depends on SECURITY_APPARMOR
46 default n
47 help
48 Build apparmor with debugging logic in apparmor. Not all
49 debugging logic will necessarily be enabled. A submenu will
50 provide fine grained control of the debug options that are
51 available.
52
53config SECURITY_APPARMOR_DEBUG_ASSERTS
54 bool "Build AppArmor with debugging asserts"
55 depends on SECURITY_APPARMOR_DEBUG
56 default y
57 help
58 Enable code assertions made with AA_BUG. These are primarily
59 function entry preconditions but also exist at other key
60 points. If the assert is triggered it will trigger a WARN
61 message.
62
63config SECURITY_APPARMOR_DEBUG_MESSAGES
64 bool "Debug messages enabled by default"
65 depends on SECURITY_APPARMOR_DEBUG
66 default n
67 help
68 Set the default value of the apparmor.debug kernel parameter.
69 When enabled, various debug messages will be logged to
70 the kernel message buffer.
Mike Salvatore4d944bc2019-11-05 16:43:29 -080071
72config SECURITY_APPARMOR_KUNIT_TEST
Anders Roxell6d6861d2020-05-11 15:14:42 +020073 bool "Build KUnit tests for policy_unpack.c" if !KUNIT_ALL_TESTS
Alan Maguire35c57fc2020-01-10 11:49:25 +000074 depends on KUNIT=y && SECURITY_APPARMOR
Anders Roxell6d6861d2020-05-11 15:14:42 +020075 default KUNIT_ALL_TESTS
Mike Salvatore4d944bc2019-11-05 16:43:29 -080076 help
77 This builds the AppArmor KUnit tests.
78
79 KUnit tests run during boot and output the results to the debug log
Alexander A. Klimovc9fecf52020-07-05 23:45:12 +020080 in TAP format (https://testanything.org/). Only useful for kernel devs
Mike Salvatore4d944bc2019-11-05 16:43:29 -080081 running KUnit test harness and are not for inclusion into a
82 production build.
83
84 For more information on KUnit and unit tests in general please refer
85 to the KUnit documentation in Documentation/dev-tools/kunit/.
86
87 If unsure, say N.