Skip to content

Commit

Permalink
security: Convert LSM into a static interface
Browse files Browse the repository at this point in the history
Convert LSM into a static interface, as the ability to unload a security
module is not required by in-tree users and potentially complicates the
overall security architecture.

Needlessly exported LSM symbols have been unexported, to help reduce API
abuse.

Parameters for the capability and root_plug modules are now specified
at boot.

The SECURITY_FRAMEWORK_VERSION macro has also been removed.

In a nutshell, there is no safe way to unload an LSM.  The modular interface
is thus unecessary and broken infrastructure.  It is used only by out-of-tree
modules, which are often binary-only, illegal, abusive of the API and
dangerous, e.g.  silently re-vectoring SELinux.

[akpm@linux-foundation.org: cleanups]
[akpm@linux-foundation.org: USB Kconfig fix]
[randy.dunlap@oracle.com: fix LSM kernel-doc]
Signed-off-by: James Morris <jmorris@namei.org>
Acked-by: Chris Wright <chrisw@sous-sol.org>
Cc: Stephen Smalley <sds@tycho.nsa.gov>
Cc: "Serge E. Hallyn" <serue@us.ibm.com>
Acked-by: Arjan van de Ven <arjan@infradead.org>
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
James Morris authored and Linus Torvalds committed Oct 17, 2007
1 parent 5c3b447 commit 20510f2
Show file tree
Hide file tree
Showing 11 changed files with 1,185 additions and 1,056 deletions.
2 changes: 1 addition & 1 deletion Documentation/DocBook/kernel-api.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -340,7 +340,7 @@ X!Earch/x86/kernel/mca_32.c

<chapter id="security">
<title>Security Framework</title>
!Esecurity/security.c
!Isecurity/security.c
</chapter>

<chapter id="audit">
Expand Down
17 changes: 17 additions & 0 deletions Documentation/kernel-parameters.txt
Original file line number Diff line number Diff line change
Expand Up @@ -75,10 +75,12 @@ parameter is applicable:
PPT Parallel port support is enabled.
PS2 Appropriate PS/2 support is enabled.
RAM RAM disk support is enabled.
ROOTPLUG The example Root Plug LSM is enabled.
S390 S390 architecture is enabled.
SCSI Appropriate SCSI support is enabled.
A lot of drivers has their options described inside of
Documentation/scsi/.
SECURITY Different security models are enabled.
SELINUX SELinux support is enabled.
SERIAL Serial support is enabled.
SH SuperH architecture is enabled.
Expand Down Expand Up @@ -373,6 +375,12 @@ and is between 256 and 4096 characters. It is defined in the file
possible to determine what the correct size should be.
This option provides an override for these situations.

capability.disable=
[SECURITY] Disable capabilities. This would normally
be used only if an alternative security model is to be
configured. Potentially dangerous and should only be
used if you are entirely sure of the consequences.

chandev= [HW,NET] Generic channel device initialisation

checkreqprot [SELINUX] Set initial checkreqprot flag value.
Expand Down Expand Up @@ -1539,6 +1547,15 @@ and is between 256 and 4096 characters. It is defined in the file
Useful for devices that are detected asynchronously
(e.g. USB and MMC devices).

root_plug.vendor_id=
[ROOTPLUG] Override the default vendor ID

root_plug.product_id=
[ROOTPLUG] Override the default product ID

root_plug.debug=
[ROOTPLUG] Enable debugging output

rw [KNL] Mount root device read-write on boot

S [KNL] Run init in single mode
Expand Down
Loading

0 comments on commit 20510f2

Please sign in to comment.