19 Aug 2026 tags: audit lsm selinux Linux v7.2 was released on Sunday, August 16th, with the Linux v7.3 merge window opening immediately afterwards. Below are the highlights of the LSM, SELinux, and audit pull requests which have been merged into Linus’ tree.
LSM
-
Removed the task_euid() function and its Rust counterpart. The function returned the objective effective UID of a task, which is an odd thing to need, and with the only user in the kernel now gone, it made little sense to keep the API.
-
Fixed a memory leak in the LSM syscall selftests.
-
Corrected the kdoc documentation for the security_task_prctl() LSM hook.
-
Clarified the comments in the Rust task UID accessor code.
SELinux
-
In order to be a good neighbor in the kernel, and promote more efficient use of memory, we converted some old code that used the __get_free_page() function to use kmalloc() instead.
-
With the recent removal of DCCP support in the kernel there are some userspace tools which still try to configure and query the kernel about DCCP support. Unfortunately, these tools can generate a number of SELinux “unrecognized netlink message” errors as SELinux’s DCCP support has been removed. Starting with Linux v7.3 we will now only print a single error message on the first occurrence, and the error message will indicate that the message is unrecognized due to the removal of DCCP from the Linux kernel.
-
In order to support the effort to remove strlcat() from the kernel, we converted the strlcat() calls in the SELinux IMA measurement code to use the sequential buffer, e.g. seq_buf_printf(), APIs.
-
Improved the SELinux IMA measurement code by only calculating the size of the measurement string once at boot. Previously the string length was recalculated on every measurement.
-
Added additional SELinux policy load time verifications to help ensure that only properly formed policies are loaded.
-
A number of minor code cleanups and improvements.
Audit
-
Fixed a reference counting problem involving audit file watches that could result in unintentionally dropping the last reference while the watch was still active.
-
Added a number of missing syscalls to the kernel’s audit permissions table which is used when filtering file operations based on permissions.
-
Removed two BUG_ON() assertions in the audit code in favor of less catastrophic runtime validations.
18 Aug 2026 tags: audit lsm selinux Linux v7.2 was released this past Sunday, August 16th. I previously wrote about the LSM, SELinux, and audit changes that were submitted this release, and LWN.net did their usual good job of covering the first and second weeks of the merge window. However, there were additional changes that went into Linux v7.2 during the release candidate phase that are described below.
SELinux
-
Fixed a problem where the connect permissions were not properly checked on sockets using TCP Fast Open (TFO).
-
Fixed a problem where an incorrect process { execmem } check was performed on overlayfs filesystems using the mounter credentials. For the process { execmem } permission, only the process credentials need to be considered.
-
Fixed a problem where a change to bpffs could cause SELinux to mark an inode as initialized before checking if it was possible to initialize the inode, potentially leaving the inode in an awkward state.
-
Fixed a problem where certain SCTP ASCONF operations could resolve a socket improperly.
-
Added support for the new XFRM_MSG_MIGRATE_STATE netlink command as a netlink_xfrm_socket { nlmsg_write } operation.
-
Added a number of additional policy checks at policy load time to help ensure that the new policy is correctly formed.
-
Stopped attempting to cancel an old policy conversion operation on a failed initial policy load, as there is no old policy to convert in this case.
Audit
-
Fixed a number of potential races when adding and removing audit records from the main audit queue.
-
Fixed a couple of potential integer overflows when logging extremely large audit records.
-
Fixed a potential use-after-free when deleting audit filter rules.
19 Jun 2026 tags: audit lsm selinux Linux v7.1 was released on Sunday, June 14th, with the Linux v7.2 merge window opening immediately afterwards. Below are the highlights of the LSM, SELinux, and audit pull requests which have been merged into Linus’ tree.
LSM
- Updated the
security_inode_listsecurity() LSM hook so that individual LSMs could make use of the xattr_list_one() helper function, simplifying their code and making it more robust against future extended attribute changes.
SELinux
-
Added a number of additional validations to the SELinux policy parsing and loading code. Not only does this help ensure only valid policies are loaded into the kernel, it will also help administrators identify and correct faulty SELinux policies at load time.
-
Removed nontransitive comparisons in the SELinux sorting code to help ensure predictable sorting results. Qualys documented a similar issue in glibc’s qsort code with a detailed explanation of the problem and the fix.
-
Updated the code to consistently use the u16 type for SELinux security classes.
-
Moved some memory page allocations to use kmalloc() based allocations. This change should increase scalability and open the door to additional debugging mechanisms. Expect more work in this area in the next Linux kernel release.
-
Move from kmalloc_objs() to kzalloc_objs() in the SELinux policy loading code. This should help protect the kernel against ill-formed policies.
-
Reorder some of the processing in sel_kill_sb() to better match other pseudo-filesystems.
-
Simplify the code with the use of QSTR() instead of QSTR_INIT().
-
Minor comment fixes.
Audit
-
Fixed a recursive deadlock when duplicating executable file rules. The fix involved passing resolved inodes through the audit code to avoid triggering additional inode lookups and potentially causing a deadlock.
-
Fixed a problem where it was not possible to delete an executable file watch after the file was deleted. The fix involved removing a negative dentry check that was preventing the kernel looking up the file watch associated with deleted file.
-
Updated the code to consistently use the unsigned int type instead of unsigned.