]> asedeno.scripts.mit.edu Git - linux.git/commit
selinux: deprecate disabling SELinux and runtime
authorPaul Moore <paul@paul-moore.com>
Thu, 19 Dec 2019 02:45:08 +0000 (21:45 -0500)
committerPaul Moore <paul@paul-moore.com>
Tue, 7 Jan 2020 15:19:43 +0000 (10:19 -0500)
commit89b223bfb8a89731bea4c84982b5d2ad7ba460e3
tree64da9aab8bff75330ed8ac4adb5660ff2d47d0e3
parent7a4b51947475a7f67e2bd06c4a4c768e2e64a975
selinux: deprecate disabling SELinux and runtime

Deprecate the CONFIG_SECURITY_SELINUX_DISABLE functionality.  The
code was originally developed to make it easier for Linux
distributions to support architectures where adding parameters to the
kernel command line was difficult.  Unfortunately, supporting runtime
disable meant we had to make some security trade-offs when it came to
the LSM hooks, as documented in the Kconfig help text:

  NOTE: selecting this option will disable the '__ro_after_init'
  kernel hardening feature for security hooks.   Please consider
  using the selinux=0 boot parameter instead of enabling this
  option.

Fortunately it looks as if that the original motivation for the
runtime disable functionality is gone, and Fedora/RHEL appears to be
the only major distribution enabling this capability at build time
so we are now taking steps to remove it entirely from the kernel.
The first step is to mark the functionality as deprecated and print
an error when it is used (what this patch is doing).  As Fedora/RHEL
makes progress in transitioning the distribution away from runtime
disable, we will introduce follow-up patches over several kernel
releases which will block for increasing periods of time when the
runtime disable is used.  Finally we will remove the option entirely
once we believe all users have moved to the kernel cmdline approach.

Acked-by: Casey Schaufler <casey@schaufler-ca.com>
Acked-by: Ondrej Mosnacek <omosnace@redhat.com>
Acked-by: Stephen Smalley <sds@tycho.nsa.gov>
Signed-off-by: Paul Moore <paul@paul-moore.com>
Documentation/ABI/obsolete/sysfs-selinux-disable [new file with mode: 0644]
MAINTAINERS
security/selinux/Kconfig
security/selinux/selinuxfs.c