Skip to content
Main menu
  • Main page
  • Discover
  • Unexpected connections
  • Topics
  • Random article
  • Search
Your library
  • Saved articles
  • Recent discoveries
  • Rabbit-hole trails
Topic areas
  • Computer Science
  • Mathematics
  • Physics
  • Engineering
  • Biology
  • Economics
  • Curiosities
WikiholeDeeper into Wikipedia
EnglishEN
  • Saved
  • History

  • Article text and media come live from Wikipedia via the official MediaWiki API and are available under the Creative Commons Attribution-ShareAlike 4.0 License; additional terms may apply. Each article links to its source and revision.
  • WikiHole is an independent project and is not affiliated with the Wikimedia Foundation.
  • How ranking works
  • All topics
  • Reading history
  • Random article
  • MediaWiki API

Linux Security Modules

  • Article
  • Rabbit hole
  • Read
  • View history
Tools
Actions
  • Read
  • View history
General
  • Recent changes
  • Related articles
  • Random discovery
This article
Reading time
3 min
Topic
Computer Science
Quality
Start-class
Views
335 in 14 days
Last edited
4 Mar 2026
Print/export
  • Printable version
In other projects
  • Wikidata item
From Wikipedia, the free encyclopedia
Rabbit hole:
  1. Linux Security Modules

Linux Security Modules (LSM) is a framework allowing the Linux kernel to support, without bias, a variety of computer security models. LSM is licensed under the terms of the GNU General Public License and is a standard part of the Linux kernel since Linux 2.6. As of 2025, AppArmor, LoadPin, SELinux, Smack, TOMOYO, Yama, SafeSetID, Integrity Policy Enforcement (IPE), and Landlock are the currently approved security modules in the official kernel.12

Loading the rest of the article…

Recent changes

Rabbit hole

Where leads. Every connection below has a source: a link in this article, a shared Wikipedia category, or CirrusSearch text similarity. Articles already on your trail are left out.

Linux Security Modules
Created
18 Jan 2006
History
149 edits
109 contributors
No edits in the last 30 days
Last edited
4 Mar 2026

149 revisions in total · 109 contributors

  1. 4 Mar 2026, 07:40 UTCUzumeupdate refs+640diff
  2. 10 Dec 2025, 08:34 UTCInternetArchiveBotRescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5+131diff
  3. 22 Apr 2025, 21:44 UTCTule-hogupdate adopted LSMs w refs & {as of}+1,375diff
  4. 2 Apr 2025, 14:59 UTCThe AnomeLinux equivalent of a TCB is called a PCB+6diff
  5. 2 Apr 2025, 14:57 UTCThe Anome§ Design linking+33diff
  6. 13 Feb 2025, 14:25 UTCVulcanSpheremTrimming #ShortDescription for #Linux Security Modules #Computing #VulcanSphere−42diff
  7. 14 Aug 2024, 15:52 UTCAnonymous contributorNo edit summary+2diff
  8. 1 Jan 2024, 01:19 UTCAnonymous contributorNo edit summary−585diff

View full revision history

Contents
  • (Top)
  • Design
  • Adoption
  • History
  • References
  • External links
  • Recent changes
  • Rabbit hole
Contents
Contents7 sections
  • (Top)
  • Design
  • Adoption
  • History
  • References
  • External links
  • Recent changes
  • Rabbit hole
General
  • Recent changes
  • Related articles
  • Random discovery
This article
Reading time
3 min
Topic
Computer Science
Quality
Start-class
Views
335 in 14 days
Created
18 Jan 2006
History
149 edits
109 contributors
No edits in the last 30 days
Last edited
4 Mar 2026

Key concepts

  • AppArmor4
  • TOMOYO Linux3
  • Smack (Linux security module)2
  • Software framework1
  • Linux kernel1
  • Computer security model1
  • GNU General Public License1
  • SELinux1
  • Mandatory access control1
  • Systrace1

The articles this one links to most, weighted towards the introduction.

Print/export
  • Printable version
In other projects
  • Wikidata item
Study aids for Linux Security Modules

Terminology

LSM
Linux Security Modules (LSM) is a framework allowing the Linux kernel to support, without bias, a variety of computer security models.

Terms the article defines in bold, quoted in context.

Categories:
  • Linux kernel
  • Operating system security

648 words · 13 references · revision 1341653422 · CC BY-SA 4.0

Design

LSM was designed in order to answer all the requirements for successfully implementing a mandatory access control module, while imposing the fewest possible changes to the Linux kernel. LSM avoids the approach of system call interposition used by Systrace because it doesn't scale to multiprocessor kernels and is subject to TOCTTOU (race) attacks. Instead, LSM inserts "hooks" (upcalls to the module) at every point in the kernel where a user-level system-call is about to result with an access to an important internal kernel-object like inodes and process control blocks.

LSM is narrowly scoped to solve the problem of access control, while not imposing a large and complex change-patch on the mainstream kernel. It isn't intended to be a general "hook" or "upcall" mechanism, nor does it support operating system-level virtualization.

LSM's access-control goal is very closely related to the problem of system auditing, but is subtly different. Auditing requires that every attempt at access be recorded. LSM cannot deliver this, because it would require a great many more hooks, in order to detect cases where the kernel "short circuits" failing system-calls and returns an error code before getting near significant objects.

The LSM design is described in the paper "Linux Security Modules: General Security Support for the Linux Kernel"3 presented at USENIX Security Symposium 2002.4 At the same conference was the paper "Using CQUAL for Static Analysis of Authorization Hook Placement"5 which studied automatic static analysis of the kernel code to verify that all of the necessary hooks have actually been inserted into the Linux kernel.

Adoption

  • AppArmor
  • Integrity Policy Enforcement (IPE)6
  • Landlock78
  • LoadPin9
  • SafeSetID10
  • SELinux
  • Smack
  • TOMOYO
  • Yama11

History

At the 2001 Linux Kernel Summit, the NSA proposed that SELinux be included in Linux 2.5.12 Linus Torvalds rejected SELinux at that time, because he observed that there are many different security projects in development, and since they all differ, the security community has not yet formed consensus on the ultimate security model. Instead, Linus charged the security community to "make it a module".

In response, Crispin Cowan proposed13 LSM: an interface for the Linux kernel that provides sufficient "hooks" (upcalls) from within the Linux kernel to a loadable module so as to allow the module to enforce mandatory access controls. Development of LSM over the next two years was conducted by the LSM community, including substantial contributions from the Immunix Corporation, the NSA, McAfee, IBM, Silicon Graphics, and many independent contributors. LSM was ultimately accepted into the Linux kernel mainstream and was included as a standard part of Linux 2.6 in December 2003.

In 2006, some kernel developers observed that SELinux was the only widely used LSM module included in the mainstream Linux kernel source tree. If there is to be only one widely used LSM module, it was reasoned, then the indirection of LSM is unnecessary, and LSM should be removed and replaced with SELinux itself. However, there are other LSM modules maintained outside of the mainstream kernel tree (AppArmor, , FireFlier, , Multi ADM, etc.), so this argument led to two results: 1. that developers of these modules started putting effort into upstreaming their respective modules, and 2. at the 2006 , Linus once again asserted that LSM would stay because he does not want to arbitrate which is the best security model.

References

  1. 1"Linux Security Module Usage". The Linux Kernel documentation.
  2. 2"/security - Linux kernel source code". GitHub.
  3. 3Wright, Chris; Cowan, Crispin; Morris, James; Smalley, Stephen; Kroah-Hartman, Greg (2002). "Linux Security Modules: General Security Support for the Linux Kernel". Proceedings of the 11th USENIX Security Symposium. USENIX Security '02. pp. 17–31. Retrieved 2026-03-03.
  4. 4"11th USENIX Security Symposium". USENIX. 2002. Retrieved 2026-03-03.
  5. 5Zhang, Xiaolan; Edwards, Antony; Jaeger, Trent (2002). "Using CQUAL for Static Analysis of Authorization Hook Placement". Proceedings of the 11th USENIX Security Symposium. USENIX Security '02. pp. 33–48. Retrieved 2026-03-03.
  6. 6"Integrity Policy Enforcement (IPE)". The Linux Kernel documentation.
  7. 7Landlock: unprivileged access control
  8. 8

External links

  • "Source code and project statistics". Archived from the original on 2005-03-07. Retrieved 2006-02-08.
  • SysAdmin magazine article on BSD Secure Levels
  • Security Projects based on the Linux kernel
Linux Intrusion Detection System
CIPSO
Linux Kernel Summit

LSM is likely to remain since additional security modules Smack (version 2.6.25), TOMOYO Linux (version 2.6.30, June 2009) and AppArmor (version 2.6.36) were accepted in the mainline kernel.

"Landlock LSM: kernel documentation". The Linux Kernel documentation. March 2025.
  • 9"LoadPin". The Linux Kernel documentation.
  • 10"SafeSetID". The Linux Kernel documentation.
  • 11"Yama". The Linux Kernel documentation.
  • 12Smalley, Stephen; Fraser, Timothy; Vance, Chris. "Linux Security Modules: General Security Hooks for Linux". The Linux Kernel documentation. Retrieved 2026-03-03.
  • 13Cowan, Crispin (2001-04-10). "Linux Security Module Interface". linux-kernel@vger.kernel.org (Mailing list). Retrieved 2026-03-03.
  • Related articles are unavailable right now.

    Wikipedia is rate limiting us right now. Try again in a minute.