can now run virtual machine under Confidential Compute Architecture (CCA) [1][2]
now supports user-space Shadow Stack feature [1]
--------
There is a new madvise() operation, MADV_GUARD_INSTALL, that installs "guard" pages in the indicated address range; an attempt to access a guard page will result in a SIGSEGV signal. These guard pages are a more efficient way to prevent code from running off the end of an allocation than PROT_NONE mappings (the only current way to do that) because it does not require the allocation of a new Virtual memory area (VMA). MADV_GUARD_REMOVE will remove existing guard pages.[8]
6
the statmount() system call has gained options to return the filesystem subtype, superblock source, and security mount options. There is also a new flag, STATMOUNT_OPT_ARRAY, that returns filesystem options as a series of NUL-separated strings and without the usual "\000" escaping.[1]
There is a new set of system calls for the management of extended attributes: setxattrat(), getxattrat(), listxattrat(), and removexattrat(). They are variants of setxattr(), getxattr(), listxattr(), and removexattr() that can be used on file descriptor.[1]
reiserfs filesystem has been removed from the kernel.[8]
BcacheFS's Kent Overstreet ban for this release cycle for Code of conduct violation.[16]
bus lock detection support wasn't merged in 6.12 but it is now!Linux/Kernel/Versions/6.12#^8e0230[1]
AMD 3D V-Cache Optimizer Driver Headlines The x86 Platform Enhancements[10]
Fixes Issue Where Applying AMD Zen1/Zen2 Microcode Updates Could Slow Boot Times[11]
-PCI Express TLP Processing Hints (PCIe TPH) support that is found with new AMD EPYC 9005 "Turin" servers.[12]
-AMD EPYC 9005 "Turin" CPUs will now default to using the AMD P-State driver[13]
Significant CRC32C Throughput Optimization
This reduces the binary code size of crc_pclmul() from 4546 bytes to 418 bytes, a 91% reduction. and more.[14]
The kernel now supports the "Smmpm", "Smnpm", and "Ssnpm" RISC-V pointer-masking extensions whichs adds security by using some of the bits of the pointer for a tag that can be used as a check on overflow/corruption.[8]
Support for PowerPC "Maple" platforms has been removed.¸"Sadly all those machines have passed into memory, and there's been no evidence for years that anyone is still using any of them"-Michael Ellerman.[7]
-looks removed-support for MIPS multi-cluster interrupt controllers.[1]
The PIDFD_GET_INFO ioctl() operation, which will fetch information about a process represented by a pidfd, has been merged.[1][4]
The io_uring subsystem has a new command, IORING_REGISTER_RESIZE_RINGS, that allows on-the-fly resizing of the submission and completion rings. This allows applications to start with a pair of relatively small rings, and grow them later should the need arise.[1]
DRM Panic Support To (nouveau) NVIDIA GPUs[15]
Removed dontdiff: pre-git file that was there to avoid including changes to irrelevant files (those generated by the build process, for example, or editor backup files)[1]
-Some preliminary work needed to implement proxy execution(V13), an improved approach to the avoidance of priority inversion, has been merged. The proxy execution feature itself, though, has not yet landed.[1]
-looks removed-Support has been added to allow system-call entry and exit tracepoints to incur page faults in order to read user-space parameters.[8]
-The new transparent_hugepage_shmem= command-line parameter controls the policy for the allocation of transparent huge pages in the shmem/tmpfs filesystems.[8]
Add thermal user thresholds support, which is a way to have the userspace to tell the thermal framework to send a notification when a temperature limit is crossed. Not much documentation for now...[5]
-The SELinux security module can now manage policies for individual netlink operations; see this commit message for a terse overview.[1]
-The /sys/fs/selinux/user configuration knob has been deprecated and will be removed in a future release.[1]
-Networking performance in many cases is constrained by contention on the RTNL lock — a problem that has been understood for years. The 6.13 kernel contains work turning the RTNL lock into a per-network-namespace lock as a way of reducing that contention in namespace-heavy workloads (running containers, for example). It is just one step in a long process, and the regression potential is considered to be significant, so the per-namespace behavior is disabled by default. The DEBUG_NET_SMALL_RTNL configuration variable can be used to turn it on.[8]
-There is a new, more flexible API for the control of traffic shaping.[8]
-There is a new netlink API for the control of NAPI (polling) behavior in network drivers.[8]
-The long-obsolete wireless extensions emulation within the kernel will no longer export a set of symbols to loadable modules. No in-tree drivers need that feature at this point; it is possible that out-of-tree drivers might break.[8]
-There is a new mechanism allowing network drivers to suspend interrupts during busy-traffic periods.[8]
-The IOMMUFD subsystem has gained a number of new operations aimed at better support for virtual machines[8]
-The sound subsystem has a new pass-through mode for audio-related accelerators.[8]
-The new virtual CPU-frequency driver allows CPU-frequency coordination between hosts and guests.[8]
There are now Rust abstractions for a number of VFS data structures and interfaces — enough to support the Rust implementation of (android's) binder.[1][6]
-Trace events in Rust code are now supported.[8]
-Rust bindings for misc devices have been added, opening the door to the merging of a number of drivers in future development cycle.[8]
-There is a new memory allocator for Rust code that removes the dependency on the external Alloc module.[8]
-Maybe? The bulk of the file-descriptor memory-safety work has been merged.[1]
-? The kernel's cryptographic subsystem has gained a new internal API for signature generation. There is some kerneldoc documentation available.[1]
-? - There is a new variant of the sleepable RCU ("SRCU") API that makes the read side cheaper at the cost of more expensive write operations. Documentation for the new functions — srcu_read_lock_lite() and srcu_read_unlock_lite() — can be found by reading through this commit.[1]
-?- The debugobjects subsystem for details.[1]
-See this merge message for a summary of new features added to the perf tool.[8]
-The build system has gained support for optimization with AutoFDO and Propeller.[8]
incremental gain when testing with giga amd cpu EPYC 9575F (which is 4 cpu in one....)[9]
: Arm's Guarded Control Stack "GCS" Support Looks Like It Will Be Ready For Linux 6.13 - Phoronix
: virtio-mem: s390 support - kernel/git/torvalds/linux.git - Linux kernel source tree
: powerpc/64: Remove maple platform - kernel/git/torvalds/linux.git - Linux kernel source tree
: Linux 6.13 Delivering Some Incremental Gains With AMD EPYC 9575F Performance - Phoronix
: AMD 3D V-Cache Optimizer Driver Headlines The x86 Platform Enhancements In Linux 6.13 - Phoronix
: Linux Fixes Issue Where Applying AMD Zen1/Zen2 Microcode Updates Could Slow Boot Times - Phoronix
: AMD EPYC 9005 "Turin" CPUs will now default to using the AMD P-State driver
: Significant CRC32C Throughput Optimization On The Way To The Linux Kernel - Phoronix
: Linux 6.13 Bringing DRM Panic Support To NVIDIA GPUs - Phoronix
: Linux CoC Announces Decision Following Recent Bcachefs Drama - Phoronix