Merge tag 'integrity-v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar...
[sfrench/cifs-2.6.git] / init / Kconfig
index 85e48a578f90de098b003ee31b25939041dc54d1..b71bf0cf5688816e560f342ae61812854a3181f8 100644 (file)
@@ -1,13 +1,4 @@
 # SPDX-License-Identifier: GPL-2.0-only
-config DEFCONFIG_LIST
-       string
-       depends on !UML
-       option defconfig_list
-       default "/lib/modules/$(shell,uname -r)/.config"
-       default "/etc/kernel-config"
-       default "/boot/config-$(shell,uname -r)"
-       default "arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG)"
-
 config CC_VERSION_TEXT
        string
        default "$(CC_VERSION_TEXT)"
@@ -21,7 +12,7 @@ config CC_VERSION_TEXT
 
          - Ensure full rebuild when the compiler is updated
            include/linux/compiler-version.h contains this option in the comment
-           line so fixdep adds include/config/cc/version/text.h into the
+           line so fixdep adds include/config/CC_VERSION_TEXT into the
            auto-generated dependency. When the compiler is updated, syncconfig
            will touch it and then every file will be rebuilt.
 
@@ -41,6 +32,18 @@ config CLANG_VERSION
        default $(cc-version) if CC_IS_CLANG
        default 0
 
+config AS_IS_GNU
+       def_bool $(success,test "$(as-name)" = GNU)
+
+config AS_IS_LLVM
+       def_bool $(success,test "$(as-name)" = LLVM)
+
+config AS_VERSION
+       int
+       # Use clang version if this is the integrated assembler
+       default CLANG_VERSION if AS_IS_LLVM
+       default $(as-version)
+
 config LD_IS_BFD
        def_bool $(success,test "$(ld-name)" = BFD)
 
@@ -1110,6 +1113,20 @@ config CGROUP_BPF
          BPF_CGROUP_INET_INGRESS will be executed on the ingress path of
          inet sockets.
 
+config CGROUP_MISC
+       bool "Misc resource controller"
+       default n
+       help
+         Provides a controller for miscellaneous resources on a host.
+
+         Miscellaneous scalar resources are the resources on the host system
+         which cannot be abstracted like the other cgroups. This controller
+         tracks and limits the miscellaneous resources used by a process
+         attached to a cgroup hierarchy.
+
+         For more information, please check misc cgroup section in
+         /Documentation/admin-guide/cgroup-v2.rst.
+
 config CGROUP_DEBUG
        bool "Debug controller"
        default n
@@ -1708,6 +1725,8 @@ config BPF_SYSCALL
        select BPF
        select IRQ_WORK
        select TASKS_TRACE_RCU
+       select BINARY_PRINTF
+       select NET_SOCK_MSG if INET
        default n
        help
          Enable the bpf() system call that allows to manipulate eBPF
@@ -1777,7 +1796,6 @@ config DEBUG_RSEQ
 
 config EMBEDDED
        bool "Embedded system"
-       option allnoconfig_y
        select EXPERT
        help
          This option should be enabled if compiling the kernel for
@@ -2052,7 +2070,7 @@ config MODULE_SIG_FORMAT
 
 menuconfig MODULES
        bool "Enable loadable module support"
-       option modules
+       modules
        help
          Kernel modules are small pieces of compiled code which can
          be inserted in the running kernel, rather than being
@@ -2213,40 +2231,53 @@ config MODULE_SIG_HASH
        default "sha384" if MODULE_SIG_SHA384
        default "sha512" if MODULE_SIG_SHA512
 
-config MODULE_COMPRESS
-       bool "Compress modules on installation"
+choice
+       prompt "Module compression mode"
        help
+         This option allows you to choose the algorithm which will be used to
+         compress modules when 'make modules_install' is run. (or, you can
+         choose to not compress modules at all.)
 
-         Compresses kernel modules when 'make modules_install' is run; gzip or
-         xz depending on "Compression algorithm" below.
+         External modules will also be compressed in the same way during the
+         installation.
 
-         module-init-tools MAY support gzip, and kmod MAY support gzip and xz.
+         For modules inside an initrd or initramfs, it's more efficient to
+         compress the whole initrd or initramfs instead.
 
-         Out-of-tree kernel modules installed using Kbuild will also be
-         compressed upon installation.
+         This is fully compatible with signed modules.
 
-         Note: for modules inside an initrd or initramfs, it's more efficient
-         to compress the whole initrd or initramfs instead.
+         Please note that the tool used to load modules needs to support the
+         corresponding algorithm. module-init-tools MAY support gzip, and kmod
+         MAY support gzip, xz and zstd.
 
-         Note: This is fully compatible with signed modules.
+         Your build system needs to provide the appropriate compression tool
+         to compress the modules.
 
-         If in doubt, say N.
+         If in doubt, select 'None'.
 
-choice
-       prompt "Compression algorithm"
-       depends on MODULE_COMPRESS
-       default MODULE_COMPRESS_GZIP
+config MODULE_COMPRESS_NONE
+       bool "None"
        help
-         This determines which sort of compression will be used during
-         'make modules_install'.
-
-         GZIP (default) and XZ are supported.
+         Do not compress modules. The installed modules are suffixed
+         with .ko.
 
 config MODULE_COMPRESS_GZIP
        bool "GZIP"
+       help
+         Compress modules with GZIP. The installed modules are suffixed
+         with .ko.gz.
 
 config MODULE_COMPRESS_XZ
        bool "XZ"
+       help
+         Compress modules with XZ. The installed modules are suffixed
+         with .ko.xz.
+
+config MODULE_COMPRESS_ZSTD
+       bool "ZSTD"
+       help
+         Compress modules with ZSTD. The installed modules are suffixed
+         with .ko.zst.
 
 endchoice
 
@@ -2296,7 +2327,7 @@ endif # MODULES
 
 config MODULES_TREE_LOOKUP
        def_bool y
-       depends on PERF_EVENTS || TRACING
+       depends on PERF_EVENTS || TRACING || CFI_CLANG
 
 config INIT_ALL_POSSIBLE
        bool