summaryrefslogtreecommitdiffstats
path: root/Documentation/admin-guide/LSM
diff options
context:
space:
mode:
authorKees Cook <keescook@chromium.org>2017-05-13 04:51:48 -0700
committerJonathan Corbet <corbet@lwn.net>2017-05-18 10:33:12 -0600
commit30da4f77aae99bf9ae5905d0ef89668391eea315 (patch)
tree6bdbb0f745969dc954b849c9d488c40842b6ae21 /Documentation/admin-guide/LSM
parent90bb766440f2147486a2acc3e793d7b8348b0c22 (diff)
downloadlinux-30da4f77aae99bf9ae5905d0ef89668391eea315.tar.bz2
doc: ReSTify LoadPin.txt
Adjusts for ReST markup and moves under LSM admin guide. Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Diffstat (limited to 'Documentation/admin-guide/LSM')
-rw-r--r--Documentation/admin-guide/LSM/LoadPin.rst21
-rw-r--r--Documentation/admin-guide/LSM/index.rst1
2 files changed, 22 insertions, 0 deletions
diff --git a/Documentation/admin-guide/LSM/LoadPin.rst b/Documentation/admin-guide/LSM/LoadPin.rst
new file mode 100644
index 000000000000..32070762d24c
--- /dev/null
+++ b/Documentation/admin-guide/LSM/LoadPin.rst
@@ -0,0 +1,21 @@
+=======
+LoadPin
+=======
+
+LoadPin is a Linux Security Module that ensures all kernel-loaded files
+(modules, firmware, etc) all originate from the same filesystem, with
+the expectation that such a filesystem is backed by a read-only device
+such as dm-verity or CDROM. This allows systems that have a verified
+and/or unchangeable filesystem to enforce module and firmware loading
+restrictions without needing to sign the files individually.
+
+The LSM is selectable at build-time with ``CONFIG_SECURITY_LOADPIN``, and
+can be controlled at boot-time with the kernel command line option
+"``loadpin.enabled``". By default, it is enabled, but can be disabled at
+boot ("``loadpin.enabled=0``").
+
+LoadPin starts pinning when it sees the first file loaded. If the
+block device backing the filesystem is not read-only, a sysctl is
+created to toggle pinning: ``/proc/sys/kernel/loadpin/enabled``. (Having
+a mutable filesystem means pinning is mutable too, but having the
+sysctl allows for easy testing on systems with a mutable filesystem.)
diff --git a/Documentation/admin-guide/LSM/index.rst b/Documentation/admin-guide/LSM/index.rst
index e5ba2c69b8ef..41f5262359f9 100644
--- a/Documentation/admin-guide/LSM/index.rst
+++ b/Documentation/admin-guide/LSM/index.rst
@@ -34,6 +34,7 @@ the one "major" module (e.g. SELinux) if there is one configured.
:maxdepth: 1
apparmor
+ LoadPin
SELinux
tomoyo
Yama