Fact-checked by Grok 2 weeks ago

Linux Security Modules

Linux Security Modules (LSM) is a integrated into the that enables the of diverse policies by providing hooks for on objects such as tasks, files, and sockets, without requiring modifications to . This supports both via the built-in capabilities module and () through pluggable extensions, allowing administrators to enforce fine-grained rules tailored to specific environments. The LSM originated from efforts in the early to incorporate advanced models into , spurred by the Agency's (NSA) to integrate SELinux following discussions at the 2001 Linux Kernel , where advocated for a modular approach to avoid hardcoding a . was a collaborative project involving contributors from WireX, Intercode, NAI Labs, and IBM, funded in part by DARPA and the NSA, and it was first released as part of the 2.6 kernel in December 2003. Initially designed to support only one major security module alongside minor ones like capabilities, LSM evolved to support stacking of multiple minor modules alongside one major module, with infrastructure improvements beginning in kernel 5.1 (2019); ongoing aims to enable broader stacking, including multiple major modules, to better accommodate containerized workloads. Key features of LSM include its restrictive nature, where modules can only deny access (never grant it beyond the kernel's default permissions), and its minimal performance overhead. Active modules are selectable at kernel build time via the CONFIG_DEFAULT_SECURITY option or at boot via the security= kernel parameter, with the current stack visible in /sys/kernel/security/lsm, always starting with the capabilities module followed by minor modules (e.g., Yama for additional ptrace restrictions) and at most one major module, though stacking supports multiple minor modules. Notable major LSMs include SELinux, which implements role-based MAC with type enforcement; AppArmor, focused on path-based profiling for simpler policy management; Smack, providing simplified MAC with labels; and TOMOYO, emphasizing domain transitions based on program execution paths. Minor modules like LoadPin (for integrity of loaded modules) and Lockdown (to prevent tampering during incidents) further enhance baseline security. LSM continues to underpin enterprise and embedded Linux distributions, facilitating compliance with standards like those for government and cloud environments.

Introduction

Overview and Purpose

Linux Security Modules (LSM) is a , general-purpose integrated into the since 2.6, designed to various modules through a set of hooks and opaque fields in structures. The itself imposes no specific but enables the development and loading of pluggable modules that can enforce mandatory (MAC) and other models by mediating to objects such as tasks, files, and network sockets. The primary purpose of LSM is to facilitate flexible enforcement of security policies without favoring any particular model, allowing system administrators to select and configure modules that align with organizational needs while preserving the kernel's core functionality. By inserting hooks at key points in kernel operations—like system calls, file accesses, and IPC—LSM modules can approve or deny actions based on custom policies, thereby extending the kernel's security capabilities beyond traditional mechanisms. This approach promotes modularity, as multiple modules can be stacked to combine policies, enhancing overall system protection with minimal overhead, typically 0–7% in microbenchmarks for common operations. LSM integrates seamlessly into the broader model, complementing (DAC) enforced via Unix permissions and capabilities, as well as isolation features like namespaces, by additional decisions atop these without disrupting their . This positioning allows LSM to gaps in traditional models, such as fine-grained over privileged operations, while ensuring backward compatibility and optional enablement through .

Scope and Limitations

The (LSM) is specifically designed to mediate decisions within the , modules to evaluate whether a —such as a —may perform an operation on an object, including interactions like file or operations. This is limited to providing hooks at key points in code for restrictive enforcement, where modules can deny but cannot override the kernel's discretionary (DAC) to grant permissions beyond what the kernel would allow. By focusing on these -object mediations, LSM supports pluggable security models without imposing a particular policy architecture on the . Key limitations of LSM include its exclusion of general-purpose kernel hooks, as the framework is confined to security-specific access control and rejects broader expansions to avoid increasing kernel complexity. It does not incorporate auditing or logging infrastructure, nor does it support virtualization mechanisms or interposition on system calls, which would introduce race conditions and significant performance overhead. These constraints ensure that LSM remains lightweight, with negligible impact on kernel operations—typically 0-7% overhead in microbenchmarks—while prioritizing efficiency over comprehensive security tooling. LSM explicitly excludes non-security uses, such as , , or any hooks unrelated to , as it is not a general-purpose extension ; proposals for such expansions have been declined to preserve the kernel's minimal . In to more invasive approaches like BSD's TrustedBSD , which fully modularizes the subsystem and requires substantial kernel , LSM emphasizes minimal changes to existing structures and paths for greater and lower disruption.

History

Early Development

The development of Linux Security Modules (LSM) originated from efforts to integrate advanced security mechanisms into the Linux kernel, particularly driven by the need to support mandatory access control (MAC) systems. In March 2001, researchers from the National Security Agency (NSA), including Stephen Smalley, presented Security-Enhanced Linux (SELinux) at the Linux Kernel Summit, proposing its direct inclusion in the upcoming 2.5 kernel series to enable flexible MAC enforcement. This proposal faced significant opposition from Linux kernel maintainer Linus Torvalds, who expressed concerns over the extensive code changes required, potential kernel bloat, and the perceived bias toward a single security model like SELinux. Torvalds suggested alternatives such as implementing SELinux as a loadable module or providing it as a patch, but these were deemed insufficient by the NSA team, as they would compromise the security guarantees of full kernel integration. In response, the Linux community initiated the LSM project to create a vendor-neutral framework that could accommodate multiple security modules without favoring any one implementation. Launched by WireX Communications, the project quickly became a collaborative effort involving the NSA's SELinux team, Hewlett-Packard (HP) researchers, and other contributors, including early involvement from IBM developers, aiming to generalize access control hooks for broader adoption. A pivotal early document was the 2002 paper "Linux Security Modules: for the " by , Smalley, and colleagues, which detailed LSM as a lightweight, hook-based framework for and other policies, emphasizing to avoid kernel modifications for specific modules.

Key Milestones and Kernel Integration

The Linux Security Modules (LSM) framework was integrated into the Linux kernel with version 2.6.0, released on December 17, 2003, initially as an experimental feature to enable pluggable security extensions without altering the core kernel architecture. This integration provided a set of hooks for mandatory access control (MAC) enforcement, with Security-Enhanced Linux (SELinux) serving as the primary initial module, implementing type enforcement and role-based access control policies developed by the National Security Agency (NSA). The framework's design allowed for modular security implementations, marking a significant step toward supporting diverse access control models in the mainstream kernel. In 2007, amid growing interest in alternative security approaches, proposals for modules like AppArmor and Smack prompted debates about the LSM framework's role, during which Linus Torvalds reaffirmed its value in accommodating multiple competing security models rather than enforcing a singular policy. This support facilitated subsequent upstream integrations, expanding LSM's capabilities. The Smack module, focusing on simplified mandatory access control with label-based protections, was merged in kernel version 2.6.25, released in April 2008. TOMOYO Linux, emphasizing path-based access controls for easier policy management, followed in version 2.6.30 in June 2009. AppArmor, with its profile-based confinement using pathname matching, was upstreamed in version 2.6.36 in October 2010. Additional modules like Yama, which enhances discretionary access control (DAC) with ptrace restrictions and other system-wide protections, were added in version 2.6.38 in March 2011. Further evolution included the Landlock module in kernel version 5.13, released in June 2021, introducing unprivileged sandboxing for filesystem access restrictions applicable to processes and their descendants. Over time, the experimental designation was phased out as LSM proved stable and integral to kernel security, transitioning to full mainline status with refined stacking mechanisms for combining modules. By 2025, LSM has reached full maturity, supporting a robust ecosystem of modules while continuing to incorporate new hooks, such as those for io_uring operations in Linux 6.15, to address emerging security needs in modern workloads.

Design and Architecture

Core Framework

The Linux Security Modules (LSM) framework originated as a set of kernel patches that introduce a security operations structure, enabling the integration of various security models into the Linux kernel without altering its core codebase. This structure, defined in the kernel's include/linux/security.h header, consists of a table of function pointers known as security_ops, which modules implement and register either at boot time via kernel parameters or during module loading. The framework allows security modules to extend the kernel's access control mechanisms by providing hooks at critical junctures, such as before granting access to resources. In the mediation process, the kernel invokes LSM hooks at designated points in its execution path, passing relevant context to the registered module's corresponding function in the security_ops table. Each module evaluates the request and returns a decision—typically 0 for allow or a negative for deny—allowing the framework to enforce fine-grained policy decisions on operations involving kernel objects like tasks, files, and network sockets. If a module denies access, the kernel halts the operation immediately, ensuring that security policies take precedence over subsequent checks. Modules register their implementations by calling security_add_hooks() to append their hook list to the framework's chain, typically during initialization, with the kernel selecting the active module at build time (via CONFIG_DEFAULT_SECURITY) or overriding it at boot (via the security= kernel parameter). Traditionally limited to one major module, the framework now supports stacking multiple modules sequentially via configuration, without exclusivity for major modules since kernel 5.8. The capabilities module, which implements POSIX.1e capabilities, is always present and invoked first in the chain. LSM operates in conjunction with the kernel's existing Discretionary Access Control (DAC) mechanisms, such as Unix file permissions, and the capabilities system, without replacing them; instead, it layers additional mandatory checks atop these foundations. A deny decision from an LSM module overrides any prior allowances from DAC or capabilities, providing a veto capability that enforces stricter security policies where needed. This design ensures backward compatibility while allowing extensible security enhancements.

Security Hooks

Security hooks in the Linux Security Modules (LSM) serve as points where modules can mediate to resources, allowing for the of policies without modifying . These hooks are strategically placed to intercept operations on objects such as processes, files, and sockets, enabling modules to evaluate permissions based on attributes associated with subjects and objects. By design, hooks are invoked minimally to avoid performance overhead, focusing on critical in execution paths. The hooks are categorized by the kernel subsystems they mediate, providing targeted enforcement for various operations. In the file system category, examples include security_inode_permission, which checks permissions before accessing an inode, and security_file_open, which validates file openings to enforce access controls on file descriptors. For inter-process communication (IPC), hooks like security_msg_queue_associate manage associations with message queues, ensuring secure sharing of IPC resources such as semaphores and shared memory segments. Network-related hooks, such as security_socket_create, control socket creation and binding, mediating network communications to prevent unauthorized connections or data flows. Capability hooks, exemplified by security_capable, extend POSIX.1e capability checks to allow fine-grained privilege validation beyond traditional superuser permissions. These categories collectively cover a broad range of kernel interactions, with hooks defined in the kernel's include/linux/lsm_hooks.h header. Hooks are inserted at minimal points in kernel code paths, including Virtual File System (VFS) calls for file operations, system calls for user-kernel transitions, and module loading sequences to secure dynamic kernel extensions. This placement ensures that security checks occur inline during normal kernel execution, such as when a process attempts to read a file or establish a network connection, without requiring extensive code alterations. As of Linux kernel 6.x series in 2025, the framework incorporates over 200 such hooks, reflecting incremental expansions to support evolving kernel features while maintaining compatibility. The decision for hooks involves passing blobs—opaque structures containing labels or contexts—from the to modules. For instance, when a hook like security_inode_permission is invoked, the provides the (e.g., the calling via its task_struct) and object (e.g., the inode), along with the requested . Modules then compute the decision, typically returning 0 for allowance or a negative for denial, based on rules comparing and object labels. This blob mechanism ensures modularity, as the remains agnostic to specific module implementations. The set of security hooks has evolved through periodic additions to address new kernel functionalities, maintaining the framework's adaptability. Notable expansions include hooks for asynchronous I/O features like io_uring, introduced in kernel 5.1 and enhanced with dedicated LSM mediation starting in kernel 5.19, such as security_uring_cmd to control custom io_uring commands and prevent unauthorized I/O submissions. As of kernel 6.12 (December 2024), new modules like Integrity Policy Enforcement have been added, further expanding stacking capabilities for integrity protection. These updates ensure that emerging interfaces, like eBPF programs or user namespaces, integrate seamlessly with LSM enforcement without introducing security gaps.

Stacking Mechanism

The Linux Security Modules (LSM) framework introduced support for stacking multiple modules in kernel version 5.1 (released in May 2019), enabling coexistence of several security modules through infrastructure-managed security blobs for kernel objects such as tasks, credentials, files, inodes, and System V IPC. This initial implementation addressed limitations of single-module exclusivity by allowing non-conflicting LSMs, such as capabilities alongside integrity-focused modules like IMA or EVM, and laid the groundwork for broader stacking in subsequent releases, with further enhancements in kernels 5.5 and 5.8 to include AppArmor and remove exclusivity tags for major modules like SELinux and Smack. The stacking patchset, primarily developed by Casey Schaufler, shifted management of per-object security data from individual modules to the kernel, supporting up to around 10 modules in modern configurations, though practical limits often range from 6 to 8 due to priority and compatibility constraints. In operation, LSM hooks invoke a chain of registered modules in a priority order determined by their initialization sequence, evaluated in the order specified by the lsm= parameter. Access decisions follow an AND logic: all invoked modules must approve the operation for it to succeed, while a denial from any module short-circuits the chain and blocks access immediately, ensuring conservative enforcement without requiring consensus on approvals. Modules share kernel-managed security blobs to store per-object state efficiently, avoiding redundant allocations and enabling seamless mediation across the stack; for instance, a file's inode blob can hold contexts from multiple LSMs like Smack labels and AppArmor profiles. Configuration occurs via the kernel boot parameter lsm=, which specifies a comma-separated list of modules to enable and their order, such as lsm=selinux,apparmor,yama,bpf to stack SELinux for mandatory access control, AppArmor for path-based confinement, Yama for additional Linux restrictions, and BPF for dynamic policies. If unspecified, the kernel loads defaults based on build-time configuration (e.g., CONFIG_LSM), but explicit listing disables unmentioned modules to prevent unintended stacking. This setup promotes efficiency by sharing blobs and minimizing overhead, as the kernel allocates space only for active modules' needs. Stacking benefits include the ability to implement hybrid security policies, such as combining SELinux for fine-grained MAC with Yama's ptrace restrictions or LoadPin's kernel integrity checks, allowing administrators to layer complementary protections without choosing a single module. For example, enterprise environments can stack SELinux for system-wide enforcement alongside AppArmor for application-specific profiles in containers. Trade-offs involve a minor performance overhead from chaining hook invocations—typically negligible for most workloads but measurable in high-throughput scenarios like networking due to additional context lookups—balanced by the flexibility of modular security without kernel recompilation.

Major Security Modules

SELinux

Security-Enhanced Linux (SELinux) is a flagship (LSM) that implements (MAC) to provide fine-grained policies for systems. Originally developed by the (NSA) in the late 1990s as part of a broader effort to enhance , SELinux was released to the open-source in 2000 and integrated into the mainline 2.6 via the LSM framework in 2003. SELinux employs a label-based model where every subject (such as processes) and object (such as files and sockets) is assigned a context, enabling enforcement of policies beyond traditional discretionary access control (DAC). At its core, SELinux uses Type Enforcement (TE) as the primary mechanism, augmented by Role-Based Access Control (RBAC) for user-role mappings and optional Multi-Level Security (MLS) or Multi-Category Security (MCS) for sensitivity levels, allowing contexts in the format user:role:type:level. SELinux policies are modular and defined in a declarative language that specifies rules for access between types, including allow rules for permissions, type_transition rules for domain changes during process execution or file creation, and boolean flags for runtime toggling of policy behaviors without recompilation. These policies are written in .te source files, compiled into binary modules (.mod) using the checkpolicy tool, and then loaded or managed on the system via semodule, which handles installation, updates, and removal of modules to form the active policy. This structure supports complex, fine-grained controls, such as restricting a process to read-only access on specific file types or limiting socket communications to designated domains, while booleans allow administrators to enable features like network access for certain services dynamically. Key features of SELinux include support for confined domains, where processes are restricted to execute within predefined types (domains) to prevent privilege escalation, and persistent file labeling, which assigns and inherits contexts to filesystems for consistent enforcement across reboots. These capabilities extend to network sockets, enabling controls on bind, connect, and peer labeling to mitigate lateral movement in compromised environments. SELinux has been enabled by default in enforcing mode in Fedora since version Core 3 (2004) and in Red Hat Enterprise Linux since version 4 (2005), reflecting its widespread adoption for securing enterprise systems. As of Linux kernel 6.11 (released in 2024), SELinux supports policy version 33, incorporating enhancements for new kernel interfaces and security classes.

AppArmor

AppArmor is a Linux Security Module (LSM) that implements mandatory access control (MAC) through per-application profiles, focusing on a path-centric approach to confine programs by specifying allowed file paths, capabilities, and operations. Developed initially by Immunix in the late 1990s as SubDomain, it was rebranded as AppArmor and acquired by Novell (later SUSE) in 2005, with further development supported by Canonical since 2009. The module was upstreamed into the mainline Linux kernel in version 2.6.36, released in October 2010, enabling broader adoption without proprietary patches. AppArmor's is human-readable and text-based, using a straightforward stored in files under /etc/apparmor.d/, which defines rules for to files, directories, and other resources. Profiles can include abstractions—predefined sets of rules for common paths and operations, such as #include <abstractions/base> for standard system accesses—to simplify . Profiles operate in two modes: enforce, which blocks unauthorized actions, and complain (or learning), which logs violations without enforcement to aid in profile refinement. Key features of include its learning mode, which generates initial profiles by observing and logging application behavior during execution, facilitating easier policy creation compared to manual labeling. It mediates access to file reads and writes using path-based rules with permissions like r (read) or w (write), network operations (e.g., network inet tcp), and signal delivery to processes, all without requiring mandatory labeling of files or . This path-focused emphasizes usability over type . AppArmor has been integrated as the default security module in Ubuntu since version 9.10 (released in 2009), where it is installed and loaded automatically to protect key services. Kernel support includes apparmorfs, a securityfs-based filesystem mounted at /sys/kernel/security/apparmor/ for runtime inspection and management of profiles and status.

Other Modules

Smack is a Linux Security Module that implements a simplified form of mandatory access control (MAC) using labels assigned to processes, files, and other objects, along with straightforward access rules to enforce security policies. Developed by Casey Schaufler, it was integrated into the Linux kernel in version 2.6.25 in 2008, emphasizing ease of configuration and minimal overhead to suit resource-constrained environments like embedded systems. Smack labels are short ASCII strings stored as extended attributes, and access decisions are based on rules specifying read, write, execute, and other permissions between subject and object labels, making it particularly suitable for systems requiring basic isolation without complex policy languages. TOMOYO Linux provides path-based MAC enforcement similar to AppArmor, focusing on restricting processes to specific file paths and operations through domain definitions that transition based on execution context. Originating in Japan in 2003 as a project by NTT Data and others, it was upstreamed into the Linux kernel in version 2.6.30 in 2009, leveraging LSM hooks for integration. Key emphases include comprehensive audit logging of access attempts to aid in policy refinement and automatic domain transitions triggered by program execution or file access, enabling fine-grained control over application behavior in multi-user environments. Landlock enables unprivileged userspace processes to create self-imposed sandboxes by restricting to filesystem paths and ports, stacking atop existing without requiring privileges. Introduced in 5.13 in 2021, it allows processes to build rulesets defining allowed actions like reading or writing specific directories, with to processes for scoped . The ABI reached for version 3 in 6.2 in 2023, supporting advanced features such as hierarchical rules and restrictions; documentation was last updated in 2025 to reflect ongoing enhancements.

Adoption and Implementation

In Linux Distributions

Red Hat Enterprise Linux (RHEL) and its upstream distribution Fedora have integrated SELinux as the primary Linux Security Module since RHEL 4 in 2005, with enforcing mode enabled by default during installation to provide mandatory access control for system processes. This default configuration uses the targeted policy, which confines common services while allowing unconfined execution for administrative tasks, and stacking with other compatible LSMs like AppArmor is supported in modern kernels but remains optional for users seeking layered security. In contrast, and distributions prioritize as the LSM, which has been included and enabled since 8.04 in 2008, with broader adoption and profile enforcement expanding by 9.10 in to applications like web servers and services. is available in the repositories for these distributions but is not enabled by default due to potential conflicts with 's , requiring and after disabling . Additionally, Landlock, a stackable LSM for unprivileged sandboxing introduced in 5.13, is supported in recent and releases, allowing developers to test filesystem access restrictions without root privileges. Other distributions exhibit varied LSM preferences based on their focus areas; for instance, openSUSE Leap continues to use AppArmor by default for its path-based confinement suitable for desktop and server environments, while openSUSE Tumbleweed shifted to SELinux as the default in early 2025 for enhanced policy granularity in rolling-release scenarios. Android, built on a Linux kernel, mandates SELinux in enforcing mode since version 4.3 to isolate apps and system components, leveraging custom policies for mobile security. In embedded systems, the Yocto Project often incorporates Smack as a lightweight LSM option due to its simple label-based access control, which minimizes overhead in resource-constrained devices like IoT gateways. By 2025, adoption trends show increased support for LSM stacking in enterprise-oriented distributions, such as Ubuntu 24.04, where kernel 6.8 enables combining AppArmor with SELinux or minor LSMs like Landlock for multi-layered protection without full replacement of defaults. Security hardening guides from organizations like the Center for Internet Security (CIS) and the National Security Agency (NSA) consistently recommend enabling at least one major LSM—such as SELinux or AppArmor—in enforcing mode to mitigate privilege escalation risks, with many audited enterprise Linux deployments incorporating such configurations for compliance.

Enterprise and Specialized Use Cases

In government environments, particularly within the U.S. Department of Defense (DoD), SELinux is widely used for securing classified systems to enforce mandatory access controls that protect sensitive information. The National Security Agency (NSA), which developed SELinux, promotes its use in architectures like NetTop for handling classified data through enhanced isolation and policy enforcement. Distributions integrating SELinux and AppArmor, such as Red Hat Enterprise Linux and SUSE Linux Enterprise Server, have achieved Common Criteria certifications including EAL4+ and BSI-DSZ-CC evaluations, enabling compliance with international security standards for government deployments. In enterprise settings, integrates SELinux into for , where it enforces multi-category labels to isolate workloads and prevent escalations in multi-tenant environments. This approach extends to cloud providers, with AWS enabling SELinux in Linux 2023 for EC2 instances to VM through kernel-level controls. For specialized applications, has employed SELinux since version 4.3 in to implement app sandboxing, defining strict boundaries for processes to mitigate and privilege abuse. In IoT devices, Smack provides lightweight mandatory access control suited to resource-constrained environments, enforcing labels on files and processes to limit interactions. Landlock, another LSM, enables unprivileged sandboxing for IoT by restricting ambient like filesystem without root privileges, enhancing in embedded systems. Recent 2025 reports highlight widespread LSM adoption, with over 60% of large enterprises using Linux as their core OS and integrating active LSMs like SELinux for enhanced protection. These modules aid compliance with standards such as PCI-DSS by enforcing granular access controls that align with requirements for restricting data access and monitoring, reducing breach risks in payment processing environments.

Development and Customization

Implementing LSM Modules

Implementing a new Linux Security Module (LSM) involves kernel-side development to extend the LSM framework with custom access control logic. Developers must define hook implementations that align with the framework's security operations, ensuring compatibility with the stacking mechanism. The process requires integrating with the kernel's security infrastructure without modifying core kernel code, focusing on providing optional security checks for system calls, object allocations, and other events. To meet the requirements, an LSM must implement a or all of the available LSM interfaces, which include over hooks for areas like , operations, and . Modules these implementations by populating a struct security_hook_list , where each entry specifies a hook function pointer and associated data. The module is not required to implement every hook; unimplemented ones default to the framework's no-op behavior or prior stacked modules. For exposure to user space, modules can optionally create entries in securityfs, mounted at /sys/kernel/security, to provide debugging or configuration interfaces, though this is not mandatory for core functionality. The primary steps for implementation begin with defining the module's hook functions. These functions receive arguments matching the kernel's security operations, such as inode pointers for file-related hooks or credentials for task hooks, and return error codes like -EACCES to enforce denials. Next, compile the hooks into an array of struct security_hook_list entries. In the module's initialization function (marked with module_init), invoke security_add_hooks() to register the array, passing the count of hooks and the module's name for identification in the stacking order. For cleanup, the module's exit function (marked with module_exit) should handle any resources, though hook unregistration is not supported post-2.6 kernels to maintain stability. Additionally, if the module stores per-object data (security blobs), implement allocation hooks like security_inode_alloc_security() to reserve space in structures such as struct inode via security_inode_alloc(), and corresponding free hooks like security_inode_free() to release it. Blobs are managed as void * pointers in kernel structures, allowing modules to attach private data without conflicts. A skeleton example for a simple capability enhancer module, which logs and optionally denies operations lacking specific capabilities (e.g., enhancing CAP_SYS_ADMIN checks), illustrates the basics. This module implements a subset of hooks, such as security_file_open() to check capabilities before file access.
c
#include <linux/module.h>
#include <linux/lsm_hooks.h>
#include <linux/security.h>

static int capenh_file_open(struct file *file, const struct cred *cred)
{
    if (!capable(CAP_SYS_ADMIN)) {
        printk(KERN_INFO "CapEnh: Denying open without CAP_SYS_ADMIN\n");
        return -EACCES;
    }
    return 0;
}

static struct security_hook_list capenh_hooks[] = {
    LSM_HOOK_INIT(file_open, capenh_file_open),
};

static int __init capenh_init(void)
{
    security_add_hooks(capenh_hooks, ARRAY_SIZE(capenh_hooks), "capenh");
    printk(KERN_INFO "CapEnh: Initialized\n");
    return 0;
}

static void __exit capenh_exit(void)
{
    printk(KERN_INFO "CapEnh: Exited\n");
}

module_init(capenh_init);
module_exit(capenh_exit);

MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("Simple Capability Enhancer LSM");
This code registers a single hook for file opens, denying access without the admin capability; it can be extended with more hooks from include/linux/lsm_hook_defs.h. No blob allocation is needed here, as it performs stateless checks. Testing involves building the module against a custom kernel (e.g., via make modules after adding to security/Makefile), loading it with insmod, and verifying behavior using tools like QEMU for isolated environments. Run kernel builds with CONFIG_SECURITY_CAPENH=y or as a loadable module, then test scenarios like file opens under non-root users to confirm denials. Use dmesg for logs and ensure no regressions in stacked modules like SELinux. Best practices emphasize performance by implementing early returns in hooks when the module's policy does not apply, minimizing overhead in the call chain. Developers should avoid introducing bottlenecks, such as heavy computations in hot-path hooks like security_file_permission(). For upstreaming, submit patches via the Linux Kernel Mailing List (LKML) following the kernel's contribution guidelines, including a clear intent description in Documentation/admin-guide/LSM/. By 2025, new modules should prioritize unprivileged designs akin to Landlock, which enables sandboxing without root privileges by leveraging stackable hooks for filesystem and network restrictions, ensuring broader adoption in user-space applications. Alternatively, since kernel 5.7, eBPF programs can attach to LSM hooks via BPF_PROG_TYPE_LSM, enabling dynamic policy enforcement without kernel modules. This approach, enhanced in subsequent kernels up to 6.12, supports unprivileged loading and is suitable for container and application sandboxes.

Policy Configuration and Management

Policy configuration and in Linux Security Modules (LSMs) involve defining, loading, and maintaining security rules to enforce access controls on system resources. Administrators use module-specific tools to check status, generate profiles, and apply policies, ensuring alignment with security requirements without disrupting operations. For instance, SELinux employs commands like sestatus and getenforce to verify policy enforcement status, while AppArmor's aa-status displays loaded profiles and modes. Yama, a simpler LSM for ptrace restrictions, is configured via sysctl to adjust parameters like kernel.yama.ptrace_scope. The policy lifecycle begins with writing rules tailored to applications or system components, often using declarative languages specific to each module. Rules are then compiled and loaded using tools such as semanage for SELinux to manage contexts, users, and ports, or aa-genprof for AppArmor to generate initial profiles from application execution logs. Auditing denials is crucial for refinement; SELinux's ausearch -m avc queries the audit log for access vector cache (AVC) denials, enabling iterative policy tuning in permissive mode before full enforcement. AppArmor profiles are typically path-based, in contrast to SELinux's label-based type enforcement. In stacked LSM configurations, both can be used together for hybrid security approaches, with policies enforced sequentially; detailed rules for each are covered in module-specific sections. In enterprise environments, automation streamlines policy management across fleets. Tools like Ansible's selinux module configure modes, policies, and booleans idempotently, integrating with playbooks for consistent deployment. Similarly, Puppet's SELinux module handles policy installation, mode setting, and context restoration, supporting dynamic updates in configuration management pipelines. Both frameworks enable dynamic reloading—SELinux via semodule -R and AppArmor via apparmor_parser -r—allowing policy changes without system reboots, minimizing downtime. As of 2025, Landlock LSM has seen enhancements in programmatic policy application, with ABI version 7 introducing logging controls and the landlockconfig tool for simplified rule configuration in user-space applications. These updates facilitate unprivileged sandboxing with finer-grained filesystem and network restrictions, integrable into modern workflows without root privileges.

Challenges and Future Directions

Limitations

Linux Security Modules (LSMs) introduce performance overhead primarily through the insertion of security hooks into kernel operations, with benchmarks indicating an average impact of 1-5% on system calls and I/O operations in microbenchmark tests on multi-processor systems. This overhead arises from the mandatory invocation of hook functions even when no active security module requires intervention, as the framework evaluates a stack of modules sequentially. In high-throughput scenarios, such as file system operations or network processing, stacking multiple LSMs can amplify latency; for instance, certain configurations with SELinux and other modules have shown up to 61% increased overhead on file permission checks compared to single-module setups. Flexibility in LSMs is constrained by the lack of uniform native support for dynamic policy updates across all modules, requiring module-specific tools or mechanisms. Additionally, LSMs operate exclusively within kernel space, providing hooks only for kernel-level operations such as system calls and resource accesses, without built-in support for user-space hooks that could enforce policies in application layers or libraries. Security concerns with LSMs include the risk of misconfigurations in policy rules leading to unintended bypasses, where overly permissive settings or errors in type enforcement can allow unauthorized access to sensitive resources. For example, admission-rule misconfigurations in SELinux have been shown to enable policy bypasses that expose vulnerabilities to privilege escalation. Coverage of emerging kernel features like eBPF was incomplete until the introduction of LSM BPF hooks in Linux kernel 5.7, which added programmable attachment points for eBPF-based security policies, though earlier versions left gaps in monitoring and controlling eBPF program loading and execution. Other practical limitations involve vendor lock-in risks stemming from distribution defaults, where major distros like enable SELinux by default while favors , complicating migration and customization across environments without significant reconfiguration efforts. Auditing in LSMs also depends on external userspace tools such as auditd from the , as the modules themselves do not provide integrated or capabilities, potentially leading to incomplete event capture if not properly integrated.

Ongoing Developments

Recent advancements in Linux Security Modules (LSM) include enhancements to the Landlock module, which provides unprivileged sandboxing capabilities through incremental ABI versions, with version 4 introduced in kernel 6.5 to support additional filesystem access controls like truncate operations. The (IPE) module, focused on boot-time integrity protection using properties such as fs-verity and dm-verity, was merged into the 6.12 in 2024, enabling administrators to enforce immutable security policies for file execution and loading. Subsequent kernels from 6.13 to 6.17 (as of November 2025) have included further optimizations to BPF LSM hooks for reduced overhead and initial experimental support for Rust-based LSM modules. Community discussions on the Linux Kernel Mailing List (LKML) since 2024 have centered on integrating LSM hooks with eBPF for enhanced security, including proposals for LSM blob support in BPF objects and trusted BPF mechanisms to verify program signatures at load time. At the 2024 Linux Storage, Filesystems, MM, and BPF Summit, developers outlined next steps for BPF LSM, such as implementing static calls to reduce performance overhead and expanding access to kernel functions for better policy enforcement in tools like Cilium and Tetragon. Planned improvements include refinements to LSM stacking priorities to mitigate indirect call vulnerabilities through static call conversions, as discussed in ongoing kernel development efforts. Efforts are also underway to facilitate LSM enablement via integration with init systems like systemd, allowing dynamic attachment of eBPF-based LSM programs to service units for simplified policy management. Looking ahead, the 2025 Linux Security Summit and related kernel maintainer discussions highlight potential evolutions toward greater LSM modularity, including better support for Rust-based kernel modules and confidential computing environments to enhance overall framework extensibility. By 2026, these initiatives could culminate in a more flexible LSM architecture, building on stacking advancements for multi-module coexistence.

References

  1. [1]
    Linux Security Modules: General Security Hooks for Linux
    Linux Security Modules (LSM) is a framework providing security hooks and fields for kernel objects, supporting security modules, especially access control, but ...
  2. [2]
    Linux Security Module Usage - The Linux Kernel documentation
    The Linux Security Module (LSM) framework provides a mechanism for various security checks to be hooked by new kernel extensions.
  3. [3]
    [PDF] Linux Security Module Framework - Kroah
    The Linux Security Module (LSM) framework is a general-purpose framework for security policy modules, enabling enhanced security policies as kernel modules.Missing: history | Show results with:history
  4. [4]
    The return of loadable security modules? - LWN.net
    Nov 28, 2012 · The LSM interface was released as part of the 2.5 development kernel series in 2002, and was part of the first 2.6 release in December 2003.<|control11|><|separator|>
  5. [5]
    LSM stacking and the future - LWN.net
    The idea of stacking (or chaining) Linux security modules (LSMs) goes back 15 years (at least) at this point; progress has definitely been made along the way.
  6. [6]
    A Brief Tour of Linux Security Modules - Star Lab Software
    Nov 21, 2019 · An LSM is code compiled directly into the Linux kernel that, utilizing the LSM framework, can deny a process access to important kernel objects.Missing: history | Show results with:history
  7. [7]
    [PDF] Linux Security Module Framework
    Section 4 describes the impact LSM has on performance and secu- rity, including a look at some projects that have been ported to LSM so far. Section 5 presents.
  8. [8]
    [PDF] General Security Support for the Linux Kernel - USENIX
    May 2, 2015 · The Linux Secu- rity Modules (LSM) project has developed a lightweight, general purpose, access control framework for the main- stream Linux ...<|separator|>
  9. [9]
  10. [10]
    [PDF] NSA Security-Enhanced Linux (SELinux)
    Stephen D. Smalley sds@tycho.nsa.gov. Information Assurance Research Group ... • Motivated development of Linux Security Module. (LSM) framework (2001).Missing: proposal | Show results with:proposal
  11. [11]
    Linux Security Modules: General Security Support for the Linux Kernel
    Linux Security Modules: General Security Support for the Linux Kernel ... pdf. Paper (HTML):. http://www.usenix.org/events/sec02/full_papers/wright ...
  12. [12]
    [PDF] Implementing SELinux as a Linux Security Module
    ... kernel tree, updated to reflect recent changes made for the Linux 2.6 integration. LSM provides a general kernel framework to support security modules. In ...
  13. [13]
    Linux_2_6_25 - Linux Kernel Newbies
    Summary of the changes and new features merged in the Linux Kernel during the 2.6.25 development.
  14. [14]
    The 2.6.30 kernel is out - LWN.net
    Jun 10, 2009 · Some of the bigger changes in 2.6.30 include a number of filesystem improvements, the integrity measurement patches, the TOMOYO Linux ...Missing: upstream | Show results with:upstream
  15. [15]
    Linux_2_6_36 - Linux Kernel Newbies
    Summary of the changes and new features merged in the Linux Kernel during the 2.6.36 development cycle. ... AppArmor security system, fixes for desktop ...
  16. [16]
    Kees Cook: [PATCH] security: Yama LSM - LKML
    Jun 21, 2010 · This creates the Yama Linux Security Module to collect several security features that have existed in various forms over the years<|separator|>
  17. [17]
    Landlock (finally) sets sail - LWN.net
    Jun 17, 2021 · After 5.13. Landlock is useful in its current form, but it can be expected to gain a number of new features in future kernel releases now that ...
  18. [18]
    Linux 6.15 Merge Window - Paul Moore
    Linux 6.15 Merge Window. 06 Apr 2025 tags: audit lsm selinux ... Add a new LSM hook and SELinux implementation to the io_uring_allowed() function.
  19. [19]
    Linux Security Module
    The Linux Security Module (LSM) framework provides a mechanism for various security checks to be hooked by new kernel extensions. The name "module" is a bit of ...
  20. [20]
    Linux Security Module Development - The Linux Kernel Archives
    Security hooks for using the eBPF maps and programs functionalities through eBPF syscalls. Security hooks for perf events. Security hooks for io_uring.
  21. [21]
    Linux_5.1 - Linux Kernel Newbies
    List of changes and new features merged in the Linux kernel during the 5.1 development cycle. ... LSM: Module stacking ie. the ability to load one LSM module in ...High-performance... · Safe signal delivery in... · live patching: support... · ARM
  22. [22]
    LSM: Module stacking for all - LWN.net
    Apr 18, 2019 · LSM: Module stacking for all ; Subject: [PATCH 00/90] LSM: Module stacking for all ; Date: Thu, 18 Apr 2019 17:44:47 -0700 ; Message-ID: < ...
  23. [23]
    The kernel’s command-line parameters — The Linux Kernel documentation
    Below is a merged summary of the `lsm` boot parameter for stacking multiple Linux Security Modules (LSMs), combining all the information from the provided segments into a concise and comprehensive response. To retain maximum detail, I’ve used a table in CSV format for the key details, followed by a narrative summary and a consolidated list of useful URLs.
  24. [24]
    [PDF] NSA Security-Enhanced Linux (SELinux)
    First packaged externally for Debian. • Integrated into Hardened Gentoo. • Integrated into mainline Linux 2.6 in Aug 2003. • Included and enabled in Red Hat ...Missing: LSM | Show results with:LSM
  25. [25]
    SELinux concepts | Android Open Source Project
    Oct 9, 2025 · Android relies on the Type Enforcement (TE) component of SELinux for its policy. ... A security context has the format: user:role:type:sensitivity ...Missing: MCS | Show results with:MCS
  26. [26]
    [PDF] Configuring the SELinux Policy - National Security Agency
    Configuring the SELinux Policy. [LoscoccoOLS2001] Peter Loscocco and Stephen Smalley, “Meeting Critical Security Objectives with. Security-Enhanced Linux ...Missing: proposal | Show results with:proposal<|control11|><|separator|>
  27. [27]
    4.6. Booleans | SELinux User's and Administrator's Guide
    Booleans allow SELinux policy changes at runtime, without needing to reload or recompile policy, enabling changes without policy writing knowledge.Missing: checkpolicy semodule
  28. [28]
    Getting started with SELinux - Fedora Docs
    SELinux is a Linux Security Module (LSM) that is built into the Linux kernel. The SELinux subsystem in the kernel is driven by a security policy.Missing: 6.11 | Show results with:6.11
  29. [29]
    SELinux Cheat Sheet - Andreas Karis Blog
    Jul 19, 2024 · Set SELinux boolean temporarily. semanage boolean -m --on httpd_use_nfs, Set SELinux boolean permanently (effective on next reboot). SELinux ...Missing: structure transitions
  30. [30]
    Configuring SELinux | Security and Hardening Guide | SLES 12 SP5
    The first version of SELinux was offered in the era of Red Hat Enterprise Linux 4™, around the year 2006. In the beginning it offered support for essential ...
  31. [31]
    AppArmor
    It has been included in the mainline Linux kernel since version 2.6.36 and its development has been supported by Canonical since 2009. Installation. Many ...
  32. [32]
    23 Profile Components and Syntax - SUSE Documentation
    If it is omitted, the profile is in enforce mode (enforces the policy). Tip. A more flexible way of setting the whole profile into complain mode is to ...Missing: learning | Show results with:learning
  33. [33]
    26 Building Profiles from the Command Line - SUSE Documentation
    The complain or learning mode tool ( aa-complain ) detects violations of AppArmor profile rules, such as the profiled program accessing files not permitted by ...
  34. [34]
    AppArmor - The Linux Kernel documentation
    AppArmor is a MAC style security extension for the Linux kernel, using task-centered policies and profiles loaded from user space.Missing: history Immunix Novell SUSE upstream 2010
  35. [35]
    AppArmor - Ubuntu Server documentation
    In Ubuntu, AppArmor is installed and loaded by default – you can check this by running aa-status . It uses profiles of an application to determine what files ...
  36. [36]
    Smack - The Linux Kernel documentation
    Smack is the Simplified Mandatory Access Control Kernel, a kernel-based implementation of mandatory access control designed to provide useful MAC.
  37. [37]
    TOMOYO - The Linux Kernel documentation
    TOMOYO is a name-based MAC extension (LSM module) for the Linux kernel. LiveCD-based tutorials are available at https://tomoyo.sourceforge.net/1.8/ubuntu12.04- ...
  38. [38]
    TOMOYO Linux - ArchWiki
    Feb 10, 2025 · TOMOYO Linux 2.x is the Linux mainline kernel branch of development. In June 2009, TOMOYO was merged into the Linux kernel version 2.6.30 and it ...Missing: upstream | Show results with:upstream
  39. [39]
  40. [40]
    Landlock LSM: kernel documentation
    Landlock's goal is to create scoped access-control (ie sandboxing). To harden a whole system, this feature should be available to any process, including ...
  41. [41]
    landlock(7) - Linux manual page - man7.org
    Landlock is an access-control system that enables any processes to securely restrict themselves and their future children. Because Landlock is a stackable Linux ...
  42. [42]
    Landlock news #5 - oss-sec - Seclists.org
    May 19, 2025 · ... Landlock ABI version for improved sandboxing. Landlock logo ============= Landlock now has a logo! Guess what it means. ;) Feel free to use ...
  43. [43]
    Integrity Policy Enforcement (IPE) - The Linux Kernel documentation
    Integrity Policy Enforcement (IPE) is a Linux Security Module that focuses on immutable security properties of system components, preventing tampering with ...
  44. [44]
    SafeSetID - The Linux Kernel documentation
    SafeSetID is an LSM module that gates the setid family of syscalls to restrict UID/GID transitions from a given UID/GID to only those approved by a system-wide ...
  45. [45]
    Celebrating 15 Years of SELinux - Red Hat
    Dec 18, 2015 · On Dec. 22, 2000, the NSA released their code to the wider open source world in the form of SELinux, and in doing so forever ...
  46. [46]
    Chapter 2. Changing SELinux states and modes
    When enabled, SELinux can run in one of two modes: enforcing or permissive. The following sections show how to permanently change into these modes.<|control11|><|separator|>
  47. [47]
    1.4. SELinux States and Modes | Red Hat Enterprise Linux | 7
    Enforcing mode is the default, and recommended, mode of operation; in enforcing mode SELinux operates normally, enforcing the loaded security policy on the ...
  48. [48]
    How to Install SELinux on Ubuntu 22.04 | Linode Docs
    Sep 23, 2022 · To install SELinux, first stop and disable AppArmor, then install SELinux packages and enable it with `sudo selinux-activate`. Review the state ...
  49. [49]
    SDB:AppArmor - openSUSE Wiki
    Mar 21, 2025 · A number of default profiles are included with AppArmor, and using a combination of advanced static analysis and learning-based tools, AppArmor ...Overview · Getting the software · Switching from SELinux to... · Contribute
  50. [50]
    OpenSUSE Tumbleweed Switching From AppArmor To SELinux For ...
    Feb 12, 2025 · OpenSUSE Leap 15.x will also keep to using AppArmor by default. The matter of switching from AppArmor to SELinux has been an openSUSE discussion ...<|control11|><|separator|>
  51. [51]
    Security-Enhanced Linux in Android - Android Open Source Project
    Aug 26, 2024 · Android uses Security-Enhanced Linux (SELinux) to enforce mandatory access control (MAC) over all processes, even processes running with root/superuser ...SELinux concepts · Write SELinux policy · Implement SELinux · Validate SELinux
  52. [52]
    The Smack Project - Home
    The Smack Project is committed to the premise that security does not have to be complicated. The most complete implementation of a Smack based system is Tizen.
  53. [53]
    Securing your Linux Configuration (Kernel Hardening) - Timesys
    Feb 23, 2022 · This article discusses the process by which your kernel's configuration can be strengthened to protect against common security exploits.
  54. [54]
    [PDF] Securing The X Window System With SELinux - DoD
    This document discusses securing the X window system with SELinux, covering threats and security concerns such as confidentiality, integrity, availability, ...
  55. [55]
    Security-Enhanced Linux
    They make it possible to configure the system to meet a wide range of security requirements.
  56. [56]
    SELinuxComputing Certification
    Systems based on Linux has been certified under the Common Criteria Evaluation and Validation Scheme (CCEVS) to Evaluation Assurance Level 4 Augmented (EAL4+), ...
  57. [57]
    [PDF] Certification Report BSI-DSZ-CC-1151-2021 - Common Criteria
    Feb 16, 2021 · AppArmor labels are attached to virtual machines and its resources. The access control policy is enforced using these labels to grant virtual ...
  58. [58]
    How Red Hat OpenShift enables container security
    May 26, 2022 · Red Hat OpenShift secures the platform stack, uses multitenancy, provides secure registry, prevents root containers, and encrypts traffic.
  59. [59]
    SELinux - Amazon Linux 2023 - AWS Documentation
    SELinux is a security feature of the Amazon Linux kernel, which was disabled in AL2. SELinux is a collection of kernel features and utilities.
  60. [60]
    Secure your containers using SELinux - Google Cloud Documentation
    This page shows you how to secure your containers by enabling SELinux. SELinux is supported for Red Hat Enterprise Linux (RHEL). If your host machines are ...Missing: LSM | Show results with:LSM
  61. [61]
    Exploring the security challenges in Linux-based IoT devices
    Aug 4, 2016 · For higher security requirements, you can implement mandatory access control using SELinux, Smack, or other techniques that use LSM (Linux ...
  62. [62]
    Landlock: unprivileged access control
    Landlock restricts ambient rights for processes, creating security sandboxes. It uses rules for filesystem and network access, and allows unprivileged ...
  63. [63]
    Linux Statistics 2025: Desktop, Server, Cloud & Community Trends
    Aug 3, 2025 · Red Hat Enterprise Linux (RHEL) holds 43.1% of the enterprise Linux server market in 2025. Global Desktop Operating System Market Share. Windows ...
  64. [64]
    PCI Compliance Checklist: Key Strategies for Linux Security Admins
    Apr 11, 2025 · When it comes to enforcing stringent access controls--an essential aspect of PCI DSS compliance--Linux Security Modules (LSMs) like SELinux and ...
  65. [65]
    How SELinux helps mitigate risk while facilitating compliance
    Aug 9, 2018 · SELinux access controls provide both increased granularity as well as a single security policy that is applied across the entire system and ...What Is Selinux? · Vulnerabilities · Red Hat And SecurityMissing: LSM | Show results with:LSM
  66. [66]
    Linux Security Module Development
    A new LSM is accepted into the kernel when its intent (a description of what it tries to protect against and in what cases one would expect to use it) has been ...Missing: Implementing | Show results with:Implementing
  67. [67]
    Using SELinux | Red Hat Enterprise Linux | 8
    By default, all Linux users in Red Hat Enterprise Linux, including users with administrative privileges, are mapped to the unconfined SELinux user unconfined_u ...
  68. [68]
    Yama - The Linux Kernel documentation
    Yama is a Linux Security Module that collects system-wide DAC security protections that are not handled by the core kernel itself.
  69. [69]
    Troubleshooting Problems Related to SELinux - Fedora Docs
    To troubleshoot SELinux, check the audit log using `ausearch`, then use `sealert` to analyze denial messages. If the problem persists, switch to permissive ...Missing: selinuxenabled | Show results with:selinuxenabled
  70. [70]
    ansible.posix.selinux module – Change policy and state of SELinux
    The ansible.posix.selinux module configures the SELinux mode and policy, and may require a reboot. It is part of the ansible.posix collection.
  71. [71]
    oss-security - Landlock news #5 - Openwall
    May 19, 2025 · ... Landlock features on up-to-date kernels. This improvement in the ... lsm/landlockconfig A new tool will make this library easy to use.
  72. [72]
    Analyzing the Overhead of File Protection by Linux Security Modules
    Jun 4, 2021 · We build a performance evaluation framework for LSM. It has two parts, an extension of LMBench2.5 to evaluate the overhead of file operations ...
  73. [73]
    Live-patching security vulnerabilities inside the Linux kernel with ...
    Jun 29, 2022 · Linux Security Modules (LSM) is a hook-based framework for implementing security policies and Mandatory Access Control in the Linux kernel.
  74. [74]
    Linux 6.12 Landing Integrity Policy Enforcement "IPE" Module
    Sep 18, 2024 · Merged as part of the Linux Security Modules (LSM) updates for the Linux 6.12 kernel is the new Integrity Policy Enforcement (IPE) module ...
  75. [75]
    Integrity Policy Enforcement LSM (IPE) - LWN.net
    linux-doc-AT-vger.kernel.org, linux-integrity-AT-vger.kernel.org ... IPE is a Linux Security Module that takes a complementary approach to access ...Missing: 6.1 | Show results with:6.1
  76. [76]
    LKML: Paul Moore: Re: [PATCH v2] lsm,selinux
    Aug 7, 2025 · From, Paul Moore <> ; Date, Thu, 7 Aug 2025 13:21:02 -0400 ; Subject, Re: [PATCH v2] lsm,selinux: Add LSM blob support for BPF objects ...
  77. [77]
    Andrii Nakryiko: Re: Re: [PATCH 2/2] libbpf: BPF programs ... - LKML
    Feb 5, 2025 · On Tue, Jan 28, 2025 at 3:08 PM Martin Kelly <martin.kelly@crowdstrike.com> wrote: > > On Fri, 2025-01-24 at 10:31 -0800, Andrii Nakryiko ...
  78. [78]
    Linux Storage, Filesystems, MM and BPF Summit Recap and Video
    Jun 13, 2024 · The talk shed light on the current state and future direction of BPF LSM (Linux Security Module), discussing various technical updates, ...Missing: LKML | Show results with:LKML<|separator|>
  79. [79]
    A change in direction for security-module stacking? - LWN.net
    Apr 23, 2024 · There are a number of real use cases for having multiple LSMs active in the kernel. Our 2022 article on the feature describes the history of how ...Missing: priorities improvements
  80. [80]
    Extending systemd Security Features with eBPF - Kinvolk
    Feb 23, 2021 · Implementation​. This feature is implemented by attaching an eBPF program ( BPF_PROG_TYPE_LSM ) to the file_open BPF LSM hook ( BPF_LSM_MAC ).Missing: integration enablement
  81. [81]
    The State and Direction of LSM Stacking - YouTube
    Jul 2, 2025 · Opportunities and Challenges on Merging HW Security Features into Linux Mainline Kernel - Panel. The Linux Foundation•364 views · 38:51. Go to ...
  82. [82]
    Linux Kernel Maintainer Summit | LF Events
    This is an invite-only event. Linux Kernel Summit technical tracks are offered at Linux Plumbers Conference 2025 and are open to all LPC attendees.Missing: LSM v2 modularity
  83. [83]
    The 2025 Linux Storage, Filesystem, Memory-Management, and ...
    Mar 26, 2025 · The Linux Storage, Filesystem, Memory-Management, and BPF Summit is an annual, invitation-only event where about 140 developers gather to address core-kernel ...Missing: LSM modularity