20765
Comment:
|
880
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
The purpose of this page is tracking and explaining the features added in every release, just like the [http://wiki.dragonflybsd.org/index.php/DragonFly_Status Dragonfly people did]. | #pragma keywords Linux, Kernel, Operative System, Linus Torvalds, Open Source, drivers, filesystems, network, memory management, scheduler, preemtion, locking #pragma description Summary of the changes and new features merged in the Linux Kernel during the 2.6.x and 3.x development Changes done in each Linux kernel release. Other places to get news about the Linux kernel are [[http://lwn.net/Kernel/|LWN kernel status]], [[http://www.h-online.com/open/features/|H-Online]], or the Linux Kernel mailing list (there is a web interface in [[http://www.lkml.org|www.lkml.org]]). List of changes of older releases can be found at LinuxVersions. If you're going to add something here look first at LinuxChangesRules! |
Line 3: | Line 5: |
It'd be nice if kernel hackers would spend some minutes adding their stuff here. The one place where you can find a comparable changelog are the fabulous LWN kernel articles: http://lwn.net/Kernel/, or the [http://lwn.net/Articles/driver-porting/ driver porting guide] - but there's no reason why the kernel community shouldn't embrace and extend those efforts ;) | You can discuss the latest Linux kernel changes on the [[http://forum.kernelnewbies.org/list.php?4|New Linux Kernel Features Forum]]. |
Line 5: | Line 7: |
TODO: * Import relevant data from [http://www.codemonkey.org.uk/post-halloween-2.5.txt davej's post halloween document] * Find links to corresponding changesets (!!) * Keep track of what gets changed * Import [http://kernelnewbies.org/status/latest.html Kernelnewbies status] list (done - some "post-2.6.0" stuff perhaps) 2.6.14 '''STILL NOT RELEASED''': * PPTP protocol support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=926b50f92a30090da2c1a8675de954c2d9b09732 (commit)] * [http://fuse.sourceforge.net/ FUSE]: FUSE allows to implement a fully functional filesystem in a userspace program * [http://v9fs.sourceforge.net/ 9P support]: Linux port of the famous [http://www.cs.bell-labs.com/plan9dist/ Plan9]'s 9P protocol * ipw2100 and ipw2200 wireless drivers * [http://hostap.epitest.fi/ HostAP]: Adds support to work as "Wireless Access Point" * [http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Linux.Wireless.Extensions.html Wireless extensions] API update * Four-level page table support for the ppc64 architecture * [http://lwn.net/Articles/149756/ DCCP]: "Datagram Congestion Control Protocol". Datagram protocol (like UDP), but with a congestion control mechanism. Currently a [http://www.icir.org/kohler/dcp/draft-ietf-dccp-spec-11.txt RFC draft] * [http://relayfs.sourceforge.net/ RelayFS]: "Basically relayfs is just a bunch of per-cpu kernel buffers that can be efficiently written into from kernel code. These buffers are represented as files which can be mmap'ed and directly read from in user space. The purpose of this setup is to provide the simplest possible mechanism allowing potentially large amounts of data to be logged in the kernel and 'relayed' to user space." 2.6.13: * x86 now uses the generic PCI bus setup code for assigning unassigned resources * [http://lwn.net/Articles/104343/ inotify] * Support for the Xtensa architecture: [http://www.tensilica.com/products/xtensa_architecture.htm 32-bit architecture] used in embedded devices * [http://lwn.net/Articles/108595/ kexec and kdump]: Kexec allows users to load a new kernel from another running kernel. By preserving the memory contents in a crash scenario, kexec allows to implement kdump. Kdump is able to get a memory dump of the previous kernel, and be used as a debugging tool. * [http://lwn.net/Articles/135472/ Execute-in-place support]: Traditionally, programs are loaded from disk to memory to be executed. However, the current wave of embedded devices store programs in a ROM/flash chip. XIP allows the kernel executing programs directly from that ROM, without being copied to RAM (saving RAM space), and bypassing the page cache/io scheduler layers (since they're not needed). * [http://lwn.net/Articles/145973/ build-time configurable clock interrupt frequency]: * [http://lwn.net/Articles/143474/ Improved CFQ IO scheduler]: With support for I/O priorities * Voluntary preemption patches * Removal of the devfs configuration option 2.6.12: * [http://lwn.net/Articles/140164/ API changes] * New driver for the "trusted computing" (TPM) crap^Wchip * [http://www.superh.com/products/shyway.htm SuperHyway bus support] * Multilevel security implementation for SELinux * [http://lwn.net/Articles/124703/ device mapper multipath support] * [http://lwn.net/Articles/121845/ Address space randomization] * Restore the Philips webcam driver * I/O barrier support for serial ATA drives * [http://lwn.net/Articles/134460/ "resource limits"] * [http://lwn.net/Articles/127936/ cpusets] * Remove IPV6 "experimental" status * Hot-pluggable parallel ports * Block I/O barrier rewrite (enables full barrier support on serial ATA drives) 2.6.11: * [http://lwn.net/Articles/117749/ Conversion to 4-level page tables] * [http://lwn.net/Articles/112531/ Infiniband support] * Support for Extended Attributes in the body of large inode in ext3: saves space and improves performance in some cases * Fujitsu FR-V CPU arch implementation * SATA support for Intel ICH7 * [http://lwn.net/Articles/115405/ DebugFS] * [http://lwn.net/Articles/118750/ New Pipe implementation] * [http://lwn.net/Articles/102253/ "Big Kernel Sempahore"] 2.6.10: * [http://lwn.net/Articles/109505 Reworking of spin lock initialization] * Big Kernel Lock preemption * IRQ subsystem code rework * Removal of the "BIO walking" helper functions * [http://lwn.net/Articles/107314/ generic circular buffer type] * Ext3 block reservation and online resizing patches * [http://lwn.net/Articles/69523/ sysfs backing store] * [http://lwn.net/Articles/103183/ I/O space write barriers] * On-the-fly switchable I/O schedulers * BSD secure levels module * kernel events notification mechanism * In-kernel cryptographic key management * DVD+RW and CDRW packet writing support 2.6.9: * [http://lwn.net/Articles/96621 Token-based thrashing control] * Support of block I/O barrier * m32r architecture support * Allow unprivileged processes to lock small amounts of memory in RAM * Tunable "max sectors" limit for block I/O requests (can help latency reduction) * New prctl() option allowing programs to change their name (PR_GET_NAME) * AMD dual-core support * [http://lwn.net/Articles/97537/ Out-of-line spinlocks] * Support for POSIX's waitid() * Shared memory scalability improvements * [http://lwn.net/Articles/91829/ "flex mmap" user-space memory layout] * Change in TCP ICMP source quench behavior * [http://www.linux-usb.org/gadget/h2-otg.html USB "on the go" support] * New USB storage driver * Support for more than eight partitions on BSD-labeled disks * Ethtool support in the loopback driver * [http://lwn.net/Articles/101215/ NETIF_F_LLTX interface] * Removal of the ancient "busmouse" driver * Infrastructure for cluster-wide file locking * DRM subsystem cleanups * more filesystem conversions to the new symbolic link resolution code (which will eventually allow an increase in the maximum link depth) * "fake NUMA" mode for x86-64 testing * Small-footprint tmpfs implementation * Support for scheduler profiling (seeing where context switches come from) * Automatic TCP window scaling calculation * Removal of the Philips webcam driver * Some VFS interface improvements * Executable support in hugetlb mappings * The Whirlpool digest algorithm * Removal of the very last suser() call 2.6.8: * support for 64-bit Super-H hardware * Removal of the PC9800 subarchitecture (lack of mainteinance) * x86 no-execute support, asynchronous I/O support for USB gadgets * [http://lwn.net/Articles/91959/ reworked symbolic link lookup implementation] * New "CPU mask" implementation * RCU performance improvements * Support for new Apple PowerBooks * New wait_event_interruptible_exclusive() macro * Support for the O_NOATIME flag in the open() call * Sysfs knobs for tuning the CFQ I/O scheduler * Mirroring and snapshot targets for the device mapper * Reiserfs data=journal support * Preemptible kernel support for the PPC64 architecture * "Khazad" crypto algorithm * [http://lwn.net/Articles/98379/ Added permissions checking on raw SCSI commands from user space] * Removal of the fcntl() file operations method * New internal infrastructure for handling file positioning and seekability * Support for the O_NOATIME flag in the open() call * Removal of the (non-functional) "fastroute" networking option * TEA and XTEA crypto algorithms 2.6.7: * [http://lwn.net/Articles/80911/ Scheduling Domains] * [http://lwn.net/Articles/83633/ Filtered Wakeups] * Ability to re-enable interrupts while waiting in spin_lock_irqsave() (for all architectures now) * msleep() function for millisecond-scale waits * [http://lwn.net/Articles/84836/ del_singleshot_timer()]: Deleting timers quickly * shrink "dentry" structure * Removal of the Intermezzo filesystem (lack of mainteinance) * Support for quotas and external attributes in reiserfs * Removal of IDE tagged command queueing support (never worked well) * new API for NUMA systems 2.6.6: * [http://lwn.net/Articles/80472/ full object-based reverse-mapping scheme and removal of the per-page PTE chains] * Network packet timestamping optimization * [http://www.geocities.com/wronski12/posix_ipc/index.html POSIX message queues] * Message queues for the x86_64 and s390 architectures * fsync() and fdatasync() speed improvements to ext2/3 * [http://lwn.net/Articles/77190/ addition of the fcntl() method to the file_operations structure] * [http://lwn.net/Articles/65437/ "Laptop Mode"] * 4KB kernel stacks option for the i386 architecture * Non-executable stack support for several architectures * Reiserfs updates: data=ordered support, space preallocation, laptop mode support * IPv6 support in SELinux * [http://lwn.net/Articles/79326/ The lightweight auditing framework] * A mechanism which allows block drivers to respond to queries about the congestion state of their queues * [http://lwn.net/Articles/75233/ "per-device unplugging patch"] * CFQ scheduler * External module support * Generic snapshot support code for filesystems (taken from XFS) 2.6.5: * [http://lwn.net/Articles/75944 Netpoll infrastructure] * [http://lwn.net/Articles/75920 New "kref" reference counting mechanism] 2.6.4: * HFS rewrite * Support for the Intel "ia32e" arch * UTF-8 tty mode * Dynamic PTY allocation (up to a million PTY devices) * Sysfs support for SCSI tapes and bluetooth devices * [ARC4 crypto module Support for large numbers of groups] * [http://lwn.net/Articles/65178/ Generic kernel thread infrastructure] * Groundwork for the hotplug CPU code * ARC4 crypto module 2.6.3: * Removal of the USB scanner code: moved support to userspace (libusb) * [http://lwn.net/Articles/69402/ New DMA pool abstraction] * "context mount" support for SELinux 2.6.2: * New Qlogic SCSI driver 2.6.1: * [http://lwn.net/Articles/44135/ Message Signaled Interrupt support] * Extensible Firmware Interface (EFI) support. 2.6.0: 2.6.0-test9: * [http://lwn.net/Articles/44243/ libata driver architecture] 2.6.0-test6: * [http://marc.theaimsgroup.com/?l=linux-kernel&m=104344596912094&w=2 32-bit dev_t] * Direct I/O support for reiserfs 2.6.0-test3: * [http://www.nsa.gov/selinux/index.html SELinux] 2.6.0-test1: * [http://www.linuxvirtualserver.org/ Linux Virtual Server layer] 2.5.75: * [http://marc.theaimsgroup.com/?l=linux-mm&m=104529418208788&w=2 Anticipatory Scheduler] * "kblockd" kernel threads * "nointegrity" JFS mount option 2.5.74: 2.5.73: 2.5.72: 2.5.71: * [http://marc.theaimsgroup.com/?l=linux-kernel&m=104981044405395&w=2 Switch the IDE I/O layers to taskfile] 2.5.70: * [http://www.linux-usb.org/gadget USB gadget support] 2.5.69: * [http://lwn.net/Articles/29555/ New interrupt handling API] * Runtime barrier instruction patching: Allows optimal performance on different processors without the need to ship multiple kernels 2.5.68: * Merging s390 and s390x into a single architecture * Generation of hotplug events from kobject registration 2.5.67: 2.5.66: 2.5.65: * [http://www.kerneltrap.org/node.php?id=603 Desktop Interactivity Improvements] 2.5.64: 2.5.63: * [http://high-res-timers.sourceforge.net/ POSIX timers] 2.5.62: * [http://lse.sourceforge.net/locking/dcache/dcache_lock.html Avoid dcache_lock while path walking] 2.5.61: 2.5.60: * New modversions implementation * 64-bit jiffies 2.5.59: * [http://home.arcor.de/efocht/sched/ NUMA aware scheduler extensions] 2.5.68: 2.5.57: * [http://www.zipworld.com.au/~akpm/linux/schedlat.html Remove long-held locks for low scheduling latency] 2.5.56: 2.5.55: 2.5.54: * [http://secure.netroedge.com/~lm78/ Add lm-sensors drivers for hardware health monitoring] * Support for AGP 3.0 2.5.53: * "sysenter" support 2.5.52: 2.5.51: * [http://linuxconsole.sourceforge.net/ Rewrite of the console layer] * Compatibility syscall layer 2.5.50: 2.5.49: 2.5.48: * [http://lists.insecure.org/lists/linux-kernel/2002/Oct/6214.html In-kernel module loader] 2.5.47: * [http://www.uwsg.iu.edu/hypermail/linux/kernel/0204.1/0429.html Zerocopy NFS] 2.5.46: * [http://www.xmailserver.org/linux-patches/nio-improve.html Better I/O performance with epoll] * Per-cpu hot & cold page lists * [http://lists.insecure.org/lists/linux-kernel/2002/Oct/7027.html MMU-less processor support (ucLinux)] * [http://marc.theaimsgroup.com/?l=linux-kernel&m=101095500820185&w=2 Replace initrd by initramfs] * Extended Attributes and ACLs for ext2/ext3 2.5.45: * [http://www.xs4all.nl/~zippel/lc/ New Linux configuration system: kconfig] * [http://samba.org/~jamesm/crypto/ CryptoAPI] * [ftp://ftp.linux-ipv6.org/pub/usagi/patch/ipsec/ IPSEC] * [http://www.linuxtv.org/dvb/ Digital Video Broadcasting (DVB) layer] * [http://www.sistina.com/products_lvm.htm Device mapper for Logical Volume Manager (LVM2)] 2.5.44: * New sysfs filesystem (formerly known as driverfs) * Plug'N Play Layer Rewrite * [http://lwn.net/Articles/9042/ x86 BIOS Enhanced Disk Device (EDD) polling] 2.5.43: * [http://www.psc.edu/general/filesys/afs/ Andrew File System (AFS) support] * [http://oprofile.sourceforge.net/ OProfile, a low-overhead profiler] * [http://lse.sourceforge.net/locking Read-Copy Update (RCU) Mutual Exclusion] * [http://www.citi.umich.edu/projects/nfsv4/ Add support for NFS v4] * Remove kiobufs 2.5.42: * [http://marc.theaimsgroup.com/?l=linux-kernel&m=103298446916066&w=2 ext2/ext3 large directory support: HTree index] * [http://us1.samba.org/samba/Linux_CIFS_client.html Add new CIFS (Common Internet File System)] * [http://www.gelato.unsw.edu.au/ Remove the 2TB block device limit] * Improved i2o (Intelligent Input/Ouput) layer 2.5.41: 2.5.40: * [http://lse.sourceforge.net/numa Parallelizing page replacement] * [http://lse.sourceforge.net/numa NUMA topology support * [http://www.brodo.de/cpufreq/ Add support for CPU clock/voltage scaling] 2.5.39: * New IO scheduler ("deadline") 2.5.38: 2.5.37: * [http://users.pandora.be/bart.de.schuymer/ebtables/ Ethernet bridge tables support] * Remove the global tasklist 2.5.36: * Hugepage support * [http://oss.sgi.com/projects/xfs/ XFS filesystem from SGI] 2.5.35: * Serial ATA support * [http://user-mode-linux.sourceforge.net/index.html Add User-Mode Linux (UML)] 2.5.34: * POSIX threading support for signals * [http://lse.sourceforge.net/numa discontigmem support (ia32)] 2.5.33: * TCP segmentation offload * [http://www.sf.net/projects/lksctp SCTP (Stream Control Transmission Protocol)] 2.5.32: * [http://people.redhat.com/drepper/nptl-design.pdf Improved POSIX threading support] * [http://freshmeat.net/projects/linux-aio/ Asynchronous IO (aio) support] * Porting all input devices over to input API * New MTRR (Memory Type Range Register) driver 2.5.31: * Support insane number of processes * Disk description cleanups * Remove incomplete SPX network stack 2.5.30: * Remove khttpd 2.5.29: * Strict address space accounting * [http://lsm.immunix.org/ Add Linux Security Module (LSM)] * [http://people.redhat.com/mingo/tls-patches/ Thread-Local Storage (TLS) support] 2.5.28: * Remove the "Big IRQ lock" * Serial driver restructure 2.5.27: * [http://surriel.com/patches/ New VM with reverse mappings] 2.5.26: * Direct pagecache <-> BIO disk I/O 2.5.25: * [http://www.uwsg.iu.edu/hypermail/linux/kernel/0207.0/0741.html Faster internal kernel clock frequency] * Unified naming for disk devices 2.5.24: 2.5.23: * [http://www.kernel.org/pub/linux/kernel/people/rusty/patches/Hotcpu/ Hotplug CPU support] * [http://bazar.conectiva.com.br/~acme/patches/wip More complete IEEE 802.2 stack] 2.5.22: 2.5.21: 2.5.20: 2.5.19: 2.5.18: * [http://falcon.sch.bme.hu/~seasons/linux/swsusp.html Software suspend (to disk & RAM)] * ->getattr() ->setattr() ->permission() changes 2.5.17: * Move ISDN4Linux to CAPI based interface * [http://marc.theaimsgroup.com/?l=linux-fsdevel&m=101586205801483&w=2 New quota system supporting plugins] 2.5.16: 2.5.15: 2.5.14: * Bluetooth support (no longer experimental!) * [http://www.uwsg.iu.edu/hypermail/linux/kernel/0204.1/1250.html Support for IDE TCQ (Tagged Command Queueing)] 2.5.13: 2.5.12: * Rewrite of the buffer layer 2.5.11: * Rewrite of the framebuffer layer * [http://www.ussg.iu.edu/hypermail/linux/kernel/0204.3/0129.html Fast walk dcache] * [http://linux-ntfs.sourceforge.net/ Replace old NTFS driver with NTFS TNG driver] 2.5.10: 2.5.9: * Smarter IRQ balancing 2.5.8: * [http://www.uwsg.iu.edu/hypermail/linux/kernel/0204.1/0215.html Radix-tree pagecache] * [http://www.kernel.org/pub/linux/kernel/people/rml/cpu-affinity Syscall interface for CPU task affinity] 2.5.7: * [http://sourceforge.net/projects/acpi/ ACPI (Advanced Configuration & Power Interface)] * [ftp://robur.slu.se/pub/Linux/net-development/NAPI/ NAPI network interrupt mitigation] * [http://www.uwsg.iu.edu/hypermail/linux/kernel/0203.0/0884.html Futexes (Fast Lightweight Userspace Semaphores] * [http://www.uwsg.iu.edu/hypermail/linux/kernel/0203.0/0335.html Video for Linux (V4L) redesign] * [http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html New driver API for Wireless Extensions] 2.5.6: * [http://www.hojdpunkten.ac.se/054/samba/ http://www.hojdpunkten.ac.se/054/samba/] * [http://www.cs.helsinki.fi/linux/linux-kernel/2002-01/0438.html HDLC (High-level Data Link Control) update] * [http://www.uwsg.iu.edu/hypermail/linux/kernel/0202.2/0920.html per_cpu infrastructure] * [http://www-124.ibm.com/jfs/ Add JFS (Journaling FileSystem from IBM)] * Killing kdev_t for block devices 2.5.5: * [http://linuxppc64.org/ New architecture: PowerPC 64-bit (ppc64)] * [http://www.x86-64.org/ New architecture: AMD 64-bit (x86-64)] * [http://www.uwsg.iu.edu/hypermail/linux/kernel/0202.2/0297.html Pagetables in highmem support] * [http://www.alsa-project.org/ Add ALSA (Advanced Linux Sound Architecture] 2.5.4: * [http://www-124.ibm.com/developerworks/oss/pthreads/ Support for Next Generation POSIX Threading] * [ftp://ftp.kernel.org/pub/linux/kernel/people/rml/preempt-kernel/ Add preempt kernel option] * Per network protocol slabcache & sock.h * [http://marc.theaimsgroup.com/?l=linux-kernel&m=100942323913586&w=2 Per filesystem slabcache & fs.h] 2.5.3: * [http://kernel.org/pub/linux/kernel/people/mochel/doc/ New driver model & unified device tree] * [http://www.uwsg.iu.edu/hypermail/linux/kernel/0109.3/1341.html PnP BIOS driver] * [http://www.geocrawler.com/mail/msg.php3?msg_id=7686796&list=35 Generic Extended Attribute support] * [http://marc.theaimsgroup.com/?l=linux-kernel&m=101077476005939&w=2 Support reiserfs external journal] * [http://marc.theaimsgroup.com/?l=linux-kernel&m=101121711408999&w=2 IDE layer update] * [http://www.uwsg.iu.edu/hypermail/linux/kernel/0202.0/0260.html Untangle sched.h & fs.h include dependancies] * [http://www.geocrawler.com/lists/3/Linux/35/100/7642826/ Break Configure.help into multiple files] 2.5.2: * [http://marc.theaimsgroup.com/?l=linux-kernel&m=100992347220716&w=2 New kernel device structure (kdev_t)] * [http://people.redhat.com/mingo/O(1)-scheduler/ O(1) scheduler for improved scalability] * [http://marc.theaimsgroup.com/?l=linux-fsdevel&m=98307457705210&w=2 Filesystem per-process namespaces, late-boot cleanups] * [http://www.linux-usb.org/usb2.html Initial support for USB 2.0] 2.5.1: * Rewrite of the block IO (bio) layer |
<<Include(Linux_5.8)>> |
Changes done in each Linux kernel release. Other places to get news about the Linux kernel are LWN kernel status, H-Online, or the Linux Kernel mailing list (there is a web interface in www.lkml.org). List of changes of older releases can be found at LinuxVersions. If you're going to add something here look first at LinuxChangesRules!
You can discuss the latest Linux kernel changes on the New Linux Kernel Features Forum.
Linux 5.8 has been released on Sun, 2 Aug 2020.
Summary: This release adds: memory management changes to improve the behaviour of systems under thrashing situations; a event notification mechanism built on top of standard pipes that splices messages from the kernel into pipes opened by userspace; support for having different procfs mounts with different mount options each one; a Kernel Concurrency Sanitizer that helps to find data race bugs; make it possible to use pidfds with setns(2) for easier attachment to the namespaces of a process; support for Shadow Call Stack and Branch Target Identification in ARM64 to prevent security exploits; support for Inline Encryption hardware; new CAP_BPF and CAP_PERFMON capabilities for BPF and performance monitoring programs; and IPv6 MPLS support. As always, there are many other new drivers and improvements.
Contents
-
Prominent features
- Better behavior in memory thrashing situations
- Kernel Concurrency Sanitizer
- Kernel event notification mechanism
- Private procfs instances
- Using pidfds to attach to namespaces
- Shadow Call Stack and Branch Target Identification for improved security on ARM64
- Support for Inline Encryption hardware
- Introduce CAP_BPF and CAP_PERFMON security capabilities
- IPv6 MPLS support
- bridge: Add support for Media Redundancy Protocol (MRP)
- Core (various)
- File systems
- Memory management
- Block layer
- Tracing, perf and BPF
- Virtualization
- Cryptography
- Security
- Networking
- Architectures
-
Drivers
- Graphics
- Power Management
- Storage
- Drivers in the Staging area
- Networking
- Audio
- Tablets, touch screens, keyboards, mouses
- TV tuners, webcams, video capturers
- Universal Serial Bus
- Serial Peripheral Interface (SPI)
- Real Time Clock (RTC)
- Pin Controllers (pinctrl)
- Multi Media Card (MMC)
- Memory Technology Devices (MTD)
- Industrial I/O (iio)
- Multi Function Devices (MFD)
- Pulse-Width Modulation (PWM)
- Inter-Integrated Circuit (I2C + I3C)
- Hardware monitoring (hwmon)
- General Purpose I/O (gpio)
- Leds
- DMA engines
- Cryptography hardware acceleration
- PCI
- Non-Transparent Bridge (NTB)
- Thunderbolt
- Clock
- PHY ("physical layer" framework)
- EDAC (Error Detection And Correction)
- 1-Wire (W1)
- Firmware
- Various
- List of Pull Requests
- Other news sites
1. Prominent features
1.1. Better behavior in memory thrashing situations
The reclaim code that balances between swapping and cache memory reclaim tries to predict likely reuse of a memory page. When it fails it cannot detect when the cache is thrashing pathologically, or when the system is in the middle of a swap storm. This code has been tuned over time to a point where even in the presence of large amounts of cold anonymous memory and a capable swap device, the VM refuses to even seriously scan these pages, and can leave the page cache thrashing needlessly. The proliferation of fast random IO devices such as SSDs has made this undesirable behavior more noticeable.
This release sets out to address this. Since Linux 3.15, the kernel has exact tracking of refault IO - the ultimate cost of reclaiming the wrong pages. This allows to use an IO cost based balancing model that is more aggressive about scanning anonymous memory when the cache is thrashing, while being able to avoid unnecessary swap storms. This release base the LRU balance on the rate of refaults on each list, times the relative IO cost between swap device and filesystem (swappiness), in order to optimize reclaim for least IO cost incurred. The swapiness sysctl can also now be raised up to 200 to force the kernel to use swapping, which can be useful with in-memory swap, like zram or zswap.
1.2. Kernel Concurrency Sanitizer
The Kernel Concurrency Sanitizer (KCSAN) is a data race detector for the kernel. Key priorities in KCSAN's design are lack of false positives, scalability, and simplicity. KCSAN uses compile-time instrumentation to instrument memory accesses and it is supported in both GCC and Clang.
Documentation: The Kernel Concurrency Sanitizer (KCSAN)
Recommended LWN article: Concurrency bugs should fear the big bad data-race detector (part 1)
1.3. Kernel event notification mechanism
This release adds an event notification mechanism built on top of standard pipes, it splices notification messages from the kernel into pipes opened by userspace. The pipe is opened in a special mode, and its internal buffer is used to hold messages generated by the kernel, which are then read out by read(2). The owner of the pipe tells the kernel which sources it would like to watch through that pipe, and filters may also be emplaced on a pipe so that certain source types and subevents can be ignored if they’re not of interest. In this release, the only event source is for keys/keyrings, such as linking and unlinking keys and changing their attributes, which will be used by Gnome.
Documentation: General notification mechanism
Recommended LWN article: A kernel event notification mechanism
1.4. Private procfs instances
Procfs was historically tied to PID namespaces, this has the effect that all new procfs mounts are just a mirror of the internal one; any change, any mount option update, any new future introduction will propagate to all other procfs mounts in the same PID namespace.
This release allows to have several procfs mounts with different mounts options within the same PID namespace. The main aim of this work is to have on embedded systems one supervisor for apps. It also adds some convenient mount options that let a private procfs mount to show only ptraceable processes in the procfs, which allows to support lightweight sandboxes in Embedded Linux. Or a mount option that allows to hide non-pid inodes.
1.5. Using pidfds to attach to namespaces
This release makes it possible to use pidfds to attach to the namespaces of a process, i.e. they can be passed as the first argument to the setns(2) syscall. When a pidfd is passed, multiple namespace flags can be specified in the second argument and setns(2) will then attach the caller to all the specified namespaces all at once or to none of them. Eg: setns(pidfd, CLONE_NEWPID | CLONE_NEWNS | CLONE_NEWNET);
These features support various use-cases where callers setns to a subset of namespaces to retain privilege, perform an action and then re-attach another subset of namespaces. Apart from reducing the number of syscalls needed to attach to all currently supported namespaces, this also allows to setns to a set of namespaces atomically, this is useful for a standard container manager interacting with a running container.
1.6. Shadow Call Stack and Branch Target Identification for improved security on ARM64
This release adds generic support for Clang's Shadow Call Stack on ARM64, which uses a shadow stack to protect function return control flow from buffer overruns on the main stack.
There is also support for ARMv8.5-BTI in both user- and kernel-space. This allows branch targets to limit the types of branch from which they can be called and additionally prevents branching to arbitrary code.
Recommended LWN article: Some near-term arm64 hardening patches
1.7. Support for Inline Encryption hardware
This release supports Inline Encryption in the block layer. Inline Encryption hardware allows software to specify an encryption context (an encryption key, crypto algorithm, data unit num, data unit size, etc.) along with a data transfer request to a storage device, and the inline encryption hardware will use that context to en/decrypt the data. The inline encryption hardware is part of the storage device, and it conceptually sits on the data path between system memory and the storage device.
Recommended LWN article: Inline encryption for filesystems
1.8. Introduce CAP_BPF and CAP_PERFMON security capabilities
Using BPF has required the CAP_SYS_ADMIN capability to run. This means that software that needs to use BPF needs that capability, which grants way too many privileges. This releases grants access to BPF functionality with a new CAP_BPF capability combined with CAP_PERFMON, CAP_NET_ADMIN and some of them kept under CAP_SYS_ADMIN. The user process has to have: CAP_BPF to create maps and do other sys_bpf() commands, CAP_BPF and CAP_PERFMON to load tracing programs, and CAP_BPF plus CAP_NET_ADMIN to load networking programs.
This release also adds the CAP_PERFMON capability for performance monitoring and observability.
Recommended LWN article: CAP_PERFMON — and new capabilities in general
1.9. IPv6 MPLS support
This release extends the Multi-Protocol Label Switching support to IPv6.
1.10. bridge: Add support for Media Redundancy Protocol (MRP)
This release adds support for the Media Redundancy Protocol is a data network protocol standardized by International Electrotechnical Commission as IEC 62439-2. It allows rings of Ethernet switches to overcome any single failure with recovery time faster than STP. It is primarily used in Industrial Ethernet applications.
2. Core (various)
(FEATURED) Add Kernel Concurrency Sanitizer (KCSAN) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) Add a general notification queue concept and add an event source for keys/keyrings, such as linking and unlinking keys and changing their attributes. Key/keyring notifications are desirable because if you have your kerberos tickets in a file/directory, your Gnome desktop will monitor that and tell you if your credentials cache changes. The notification queue is built on top of a standard pipe. Messages are effectively spliced in. The pipe is opened with a special flag: pipe2(fds, O_NOTIFICATION_PIPE). The pipe is then configured and messages are read out of the pipe. LSM hooks are included: A set of hooks are provided that allow an LSM to rule on whether or not a watch may be set, and a hook to allow an LSM to rule on whether or not a particular message may be posted to a particular queue commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) Add support for Clang's Shadow Call Stack mitigation, which uses a separately allocated shadow stack to protect against return address overwrites commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) namespaces: make it possible to use pidfds to attach to the namespaces of another process, i.e. they can be passed as the first argument to the setns(2) syscall. Multiple namespace flags can be specified in the second setns() argument and setns() will attach the caller to all the specified namespaces all at once or to none of them. The obvious example where this is useful is a standard container manager interacting with a running container: pushing and pulling files or directories, injecting mounts, attaching/execing any kind of process, etc. It also allows to switch to a set of namespaces atomically commit, commit, commit
- VFS
(FEATURED) procfs: support multiple private instances commit, commit, commit, commit, commit, commit, commit, commit
Add faccessat2(2) syscall. POSIX defines faccessat() as having a fourth "flags" argument, while the linux syscall doesn't have it. Glibc tries to emulate AT_EACCESS and AT_SYMLINK_NOFOLLOW, but AT_EACCESS emulation is broken. This release adds a new faccessat(2) syscall with the added flags argument and implement both flags commit
utimensat(2): AT_EMPTY_PATH support, this makes it possible to use utimensat on an O_PATH file (including symlinks) commit
Allow unprivileged whiteout creation commit
Have syncfs() return error when there are writeback errors commit, commit
Support setting sysctl parameters from kernel command line in the form of sysctl.vm.something=1 commit, commit, commit, commit, commit
cgroup: add cpu.stat file to root cgroup commit
dynamic_debug: add an option to enable dynamic debug for modules only commit
- EFI
GOP: Add the ability to use a command-line option to switch the gop's display mode. The options supported are: video=efifb:mode=n to choose a mode; video=efifb:<xres>x<yres>[-(rgb|bgr|<bpp>)] to specify mode by resolution and optionally color depth; and video=efifb:auto to let the EFI stub choose the highest resolution mode available commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Make initrd file loader configurable commit
Add a basic printf implementation for the EFI stub to use commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- io_uring
Add tee(2) support commit
Add support for enabling/disabling notifications on a registered eventfd commit, commit
Allow IORING_OP_POLL with double waitqueues commit
Enable closing of the ring itself commit
Export cq overflow status to userspace by adding new IORING_SQ_CQ_OVERFLOW flag commit
io_uring: call statx directly commit, commit, commit, commit
PM: allow to disable snapshot device commit
init: allow to configure the default init commit
kcov: collect coverage from usb soft interrupts commit, commit, commit, commit, commit, commit, commit
Introduce sysctl hung_task_all_cpu_backtrace to print all traces when a hung task is detected commit
panic: add sysctl oops_all_cpu_backtrace to dump all CPUs backtraces on oops event commit
panic: Add panic_on_taint boot option in order to provide a simple and generic way to stop execution and catch a coredump when the kernel gets tainted by any given taint flag commit
- Locking
Introduce the concept of local_locks, which are strictly per CPU and satisfy the constraints required by PREEMPT_RT commit, commit, commit, commit, commit, commit, commit
Prototype RCU usable from idle, exception, offline commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- Build
Support 'userprogs' syntax commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add variables for compression tools, eg make GZIP=pigz BZIP2=pbzip2 commit
- objtool
Implement noinstr validation (no-instrument) to ensure critical code (entry for now, idle later) run no unexpected code commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Support compressed debug info commit
Enable compilation of objtool for all architectures commit, commit, commit
Changes to check retpoline code commit, commit, commit, commit, commit, commit, commit
kgdb: Support late serial drivers; enable early debug w/ boot consoles commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
3. File systems
- BTRFS
Speedup dead root detection during orphan cleanup, eg. when there are many deleted subvolumes waiting to be cleaned commit
Read repair/direct I/O improvements commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Snapshot creation with inherited qgroup will mark the qgroup inconsistent, requires a rescan commit
btrfs send will emit file capabilities after chown, this produces a stream that does not need postprocessing to set the capabilities again commit
Deal with a few ENOSPC corner cases commit, commit, commit, commit, commit
- CIFS
Add new parm nodelete, which allows standard permission checks on the server to work, but prevents on the client any attempts to unlink a file or delete a directory on that mount point commit
Add support for idsfromsid on create and also for chgrp/chown allowing ability to save owner information more naturally for some workloads. Improves getattr when SMB3.1.1 posix extensions are negotiated by using new query info level commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Ensure several mount parameters work properly on multiuser mounts for non-root users commit, commit, commit, commit, commit, commit
- FSCRYPT
- EXT4
- XFS
- F2FS
Introduce sysfs/data_io_flag to attach REQ_META/FUA commit
Support read iostat commit
Support partial truncation on compressed inode commit
Support fiemap on compressed inode commit
compress: support lzo-rle compress algorithm commit
Introduce F2FS_IOC_RESERVE_COMPRESS_BLOCKS commit and F2FS_IOC_RELEASE_COMPRESS_BLOCKS commit
Add compressed/gc data read IO stat commit
- OVERLAYFS
- PSTORE
- SQUASHFS
squashfs: migrate from ll_rw_block usage to BIO - decreases boot time by close to 40% when using squashfs for the root file-system commit
- AFS
Various improvements: Improve callback processing, improve keeping NAT or firewall channels open, improving detection of delayed or lost callbacks, determine aliasing of cells, improve the fileserver rotation commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- OCFS2
Mount shared volume without ha stack commit
- EROFS
Convert to use the new mount fs_context api commit
- EXFAT
Add boot region verification commit
- FAT
Improve the readahead for FAT entries commit
4. Memory management
(FEATURED) Balance LRU lists based on relative thrashing: The reclaim code that balances between swapping and cache reclaim tries to predict likely reuse based on in-memory reference patterns alone. The balancing code has been tuned over time to a point where it mostly goes for page cache and defers swapping until the VM is under significant memory pressure. Since commit a528910e12ec Linux has exact tracking of refault IO - the ultimate cost of reclaiming the wrong pages. This allows us to use an IO cost based balancing model that is more aggressive about scanning anonymous memory when the cache is thrashing, while being able to avoid unnecessary swap storms commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
swap: speed up swapoff by properly updating readahead statistics commit
swap: improve swap scalability reduce lock contention on swap cache from swap slots allocation commit
swap: improve swap scalability by trying to scan more free slots even when fragmented commit
memory_hotplug: Interface to add driver-managed system ram commit, commit, commit
Expand the atomic DMA pools for the various possible gfp requirements as a means to prevent an unnecessary depletion of lowmem. This allows devices that required unencrypted memory to do non-blocking allocations through the DMA API commit, commit, commit, commit, commit, commit, commit
Expand the cases khugepaged can handle and switch anon-THP copy-on-write handling to 4k commit, commit, commit, commit, commit, commit, commit, commit
- memcg
Expose root cgroup's memory.stat commit
Add workingset_restore in memory.stat commit
Slow down swap allocation as the available space gets depleted. It adds a memory.swap.high knob, which can be used to protect the system from SWAP exhaustion. The mechanism used for penalizing is similar to memory.high penalty (sleep on return to user space) commit, commit, commit, commit
Optimize memory.numa_stat like memory.stat commit
Reworks memcg to charge swapin pages directly at swapin time, rather than at fault time, which may be much later, or not happen at all commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Improvements about lowmem_reserve and /proc/zoneinfo commit, commit, commit
Change readahead API commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Parallelize deferred struct page init commit, commit, commit, commit, commit, commit, commit, commit
Add a new mmap locking API wrapping mmap_sem calls commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
5. Block layer
loop: Add LOOP_CONFIGURE ioctl. This allows userspace to completely setup a loop device with a single ioctl, removing the in-between state where the device can be partially configured commit
Add support for Inline Encryption to the block layer. Inline Encryption hardware allows software to specify an encryption context (an encryption key, crypto algorithm, data unit num, data unit size, etc.) along with a data transfer request to a storage device, and the inline encryption hardware will use that context to en/decrypt the data. The inline encryption hardware is part of the storage device, and it conceptually sits on the data path between system memory and the storage device commit, commit, commit, commit, commit
- Device Mapper
dm crypt: support using encrypted keys commit
Add emulated block size target. Its main purpose is to emulate 512 byte sectors on 4K native disks commit
dma-zoned: Add a new metadata version 2, which brings the following improvements: UUIDs and labels, extend random zones by an additional regular disk device, and tertiary superblock support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
dm mpath: add Historical Service Time Path Selector. It keeps an exponential moving average of the service time for each path, and uses this along with the number of inflight requests to estimate future service time for a path commit
dm ebs: pass discards down to underlying device commit
dm bufio: implement discard commit
dm writecache: improve performance on DDR persistent memory (Optane) commit
dm-zoned: improve cache performance commit, commit, commit, commit, commit, commit
dm-zoned: multiple drive support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- CEPH
6. Tracing, perf and BPF
(FEATURED) Introduce CAP_PERFMON to secure system performance monitoring and observability commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- BPF
(FEATURED) Introduce CAP_BPF to split BPF operations that are allowed under CAP_SYS_ADMIN into combination of CAP_BPF, CAP_PERFMON, CAP_NET_ADMIN and keep some of them under CAP_SYS_ADMIN. The user process has to have: CAP_BPF to create maps and do other sys_bpf() commands, CAP_BPF and CAP_PERFMON to load tracing programs, and CAP_BPF plus CAP_NET_ADMIN to load networking programs commit, commit, commit
bpftool: Allow probing for CONFIG_HZ from kernel config commit
Add get{peer,sock}name cgroup attach types to the BPF sock_addr programs in order to enable rewriting sockaddr structs commit, commit, commit, commit
Add sk_msg and networking helpers to all networking programs with perfmon_capable() capabilities commit, commit, commit, commit, commit
Implement a new BPF ring buffer, as presented at BPF virtual conference. It presents an alternative to perf buffer, following its semantics closely, but allowing sharing same instance of ring buffer across multiple CPUs efficiently commit, commit, commit, commit, commit
The bpf iterator provides in-kernel aggregation abilities for kernel data. This can greatly improve performance compared to e.g., iterating all process directories under /proc commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Introduce a new bpf_link type for attaching to network namespace commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add rx_queue_mapping to bpf_sock commit
Sharing bpf runtime stats with BPF_ENABLE_STATS commit, commit, commit
Add various observability APIs to bpf_link commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for XDP programs in DEVMAP entries commit, commit, commit, commit, commit
Extending bpf_setsockopt with SO_BINDTODEVICE sockopt commit, commit, commit
Allow TC programs to call BPF_FUNC_skb_change_head, it allows TC eBPF programs to modify and forward (redirect) packets from interfaces without ethernet headers (for example cellular) to interfaces with (for example ethernet/wifi) commit
Allow any port in bpf_bind helper commit, commit, commit, commit
Enable BPF programs to fetch sockets from SOCKMAP/SOCKHASH by doing a map lookup commit, commit, commit
Allow a bunch of existing sk lookup and skb cgroup id helpers, and adds two new bpf_sk_{,ancestor_}cgroup_id helpers to be used in cgroup skb programs commit, commit, commit, commit, commit
bpf_{g,s}etsockopt for struct bpf_sock_addr commit
Adjust uapi for devmap prior to kernel release commit, commit
Enable more helpers for BPF_PROG_TYPE_CGROUP_{DEVICE, SYSCTL, SOCKOPT} commit
Add bpf_ktime_get_boot_ns() as a mirror of bpf_ktime_get_ns() based around CLOCK_BOOTTIME instead of CLOCK_MONOTONIC commit
cgroup: allow multi-attach program to replace itself commit
libbpf: Add API to consume the perf ring buffer content commit
libbpf: Add BTF-defined map-in-map support commit, commit, commit
bpftool: Allow unprivileged users to probe features commit
- Perf:
perf annotate: Add basic support for bpf_image commit
- Add a benchmark for synthesis performance in a new benchmark collection called 'internals'
Add a multi-threaded version of the internals synthesize benchmark commit, commit, commit
perf bench: Add event synthesis benchmark commit, commit, commit, commit
Improvements for kallsyms__parse, which improve perf record startup time commit, commit, commit
Stitch LBR call stack commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
perf config: Add stat.big-num support commit
Make Perf tool aware of SELinux access control commit, commit, commit
perf list: Add metrics to command line usage commit
Share events between metrics commit, commit, commit, commit, commit, commit, commit
perf probe: Accept the instance number of kretprobe event commit
perf record: Add --num-thread-synthesize option to specify number of threads to run for event synthesis commit
perf record: Implement --switch-output-event commit, commit, commit, commit, commit, commit, commit, commit, commit
perf script: Add flamegraph.py script commit
perf stat: Support overall statistics for interval mode commit, commit, commit, commit, commit
perf tools: Add optional support for libpfm4 commit
perf tools: Support CAP_PERFMON capability commit
tracing: Make synthetic events a separate option commit, commit
tracing: histogram internals doc, hist_debug, and misc commit, commit, commit
7. Virtualization
VMBus channel interrupt reassignment. This feature can be used for load balancing or other purposes (e.g. CPU offlining) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- KVM
Add UAPIs to support migration for VFIO devices commit, commit, commit, commit, commit, commit, commit, commit
vfio-pci: Block user access to disabled device MMIO commit, commit, commit
vDPA: doorbell mapping commit, commit, commit, commit, commit
virtio-mem: Paravirtualized memory hot(un)plug commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
vmxnet3: upgrade to version 4 (with several new features which includes offload support for tunnel packets, support for new commands the driver can issue to emulation, change in descriptor fields, etc) commit, commit, commit, commit
8. Cryptography
9. Security
LSM: Add hook to set*gid syscalls commit
lockdown: Allow unprivileged users to see lockdown status commit
audit: log audit netlink multicast bind and unbind commit
apparmor: provides a /proc/self/attr/apparmor/ subdirectory. Enabling userspace to use the apparmor attributes without having to worry about collisions with selinux or smack on interface files in /proc/<pid>/attr commit
- SELinux
A number of improvements to various SELinux internal data structures to help improve performance commit, commit, commit
Add a new SELinux policy version which allows for a more space efficient way of storing the filename transitions in the binary policy. Given the default Fedora SELinux policy with the unconfined module enabled, this change drops the policy size from ~7.6MB to ~3.3MB. The kernel policy load time dropped as well commit
10. Networking
Make the number generation more random to complicate remote observations that could lead to guessing the network RNG's internal state commit
Add RFC 2863 Oper status testing support. An interface is placed into this state when a self test is performed using ethtool commit, commit, commit
Add infrastructure in ethtool and phylib support for triggering a cable test and reporting the results commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
New sysctl to turn off nexthop API compat mode which is on by default but provides the ability to turn off compatibility mode allowing systems to run entirely with the new routing API if they wish to. Old route API behaviour and support is not modified by this sysctl commit, commit, commit
(FEATURED) IPv6: add MPLS support commit, commit, commit, commit, commit
IPv6: Implement the upcoming rev of RFC4941 (IPv6 temporary addresses) commit
netlink: add infrastructure to expose policies to userspace commit
namespaces: enable to inherit devconf from current namespace. The goal is to be able to inherit the initial devconf parameters from the current netns, ie the netns where this new netns has been created. This is useful in a containers environment where /proc/sys is read only. For example, if a pod is created with specifics devconf parameters and has the capability to create netns, the user expects to get the same parameters than his 'init_net', which is not the real init_net in this case commit
Introduce netns_bpf for BPF programs attached to netnamespace commit
Relax SO_TXTIME CAP_NET_ADMIN check to allow QUIC/UDP applications to use EDT model so that pacing can be offloaded to the kernel (sch_fq) or the NIC commit
TCP: Allow traceroute -Mtcp for unprivileged users commit
IPv6: support RFC 6069 (TCP-LD) commit
Add IPv6 encapsulation support for ESP over UDP and TCP commit, commit
- XDP
Introduce AF_XDP buffer allocation API commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
XDP extend with knowledge of frame size commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
XDP: Add egress_ifindex to xdp context for bpf programs to see the Tx device commit
- bridge
(FEATURED) Add support for Media Redundancy Protocol(MRP), which allows rings of Ethernet switches to overcome any single failure with recovery time much faster than achievable with Spanning Tree Protocol commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Allow enslaving some DSA master network devices commit, commit, commit, commit
- 802.11
Initial definitions for S1G (802.11ah) commit, commit, commit, commit
Support bigger kek/kck key length commit
Support multicast RX registration commit
Allow SA-QUERY processing in userspace commit
Implement Operating Mode Notification extended NSS support commit
Support control port TX status reporting commit
Add support to configure TID specific Tx rate configuration commit
devlink: Add support for control packet traps commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- Packet scheduler
- dsa
erspan: Add type I frame format version 0 commit
- inet_diag
- Netfilter
Support for fdb ECMP nexthop groups commit, commit, commit, commit, commit
qrtr: Add MHI transport layer commit
sit: handle userspace requests for various ioctls commit
- smc
Add event-based framework for LLC msgs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Preparations for SMC-R link failover commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add failover processing commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add and delete link processing commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Extent buffer mapping and port handling commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- TIPC
- Bluetooth
Add BT_MODE socket option commit
Experimental feature support commit, commit, commit, commit, commit, commit, commit
Add framework for Microsoft vendor extension commit
Add support for Read Local Simple Pairing Options commit
Add support for reading security information commit
Always request for user confirmation for Just Works (LE SC) commit
Always request for user confirmation for Just Works commit
Enable LE Enhanced Connection Complete event commit
L2CAP: add support for waiting disconnection resp commit
Add support to notify using SCO air mode commit
debugfs option to unset MITM flag commit
- RDMA
Add Enhanced Connection Established (ECE), a new negotiation scheme introduced in IBTA v1.4 to exchange extra information about nodes capabilities and later negotiate them at the connection establishment phase commit, commit, commit, commit, commit, commit
Enable asynchronous event FD per object commit, commit, commit, commit, commit, commit, commit
Add support for RTRS (RDMA Transport), a reliable high speed transport library which allows for establishing connection between client and server machines via RDMA. RTRS is multipath capable and provides I/O fail-over and load-balancing functionality. RNBD (RDMA Network Block Device) is a pair of kernel modules (client and server) that allow for remote access of a block device on the server over RTRS protocol commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
psample: Add tunnel support commit
11. Architectures
11.1. ARM
- Device Tree updates
The Renesas shmobile platform gains support for "RZ/G1H" (r8a7742), a high-end 32-bit industrial SoC and the iW-RainboW-G21D-Qseven-RZG1H board/SoM commit, commit, commit, commit, commit, commit, commit, commit
Add new SoC Realtek RTD1195, an older Cortex-a7 based relative of the RTD12xx chips commit
Add new SoCs Realtek RTD1395 and RTD1619, three SoCs used in both NAS devices and Android Set-top-box designs, along with the "Horseradish", "Lion Skin" and "Mjolnir" reference platforms; the Mele X1000 and Xnano X5 set-top-boxes and the Banana Pi BPi-M4 single-board computer commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add SoC Rockchips RK3326, low-end 64-bit SoC along with the Odroid-GO Advance game console commit, commit, commit
Add AMLogic S905D based Smartlabs SML-5442TW TV box commit, commit
Add AMLogic S905X3 based ODROID-C4 SBC commit
Add AMLogic S922XH based Beelink GT-King Pro TV box commit, commit, commit, commit
Add Allwinner A20 based Olimex A20-OLinuXino-LIME-eMMC SBC commit, commit
Add Aspeed ast2500 based BMCs in Facebook x86 "Yosemite V2" and YADRO OpenPower P9 "Nicole" commit, commit
Marvell Kirkwood based Check Point L-50 router commit
Mediatek MT8173 based Elm/Hana Chromebook laptops commit
Microchip SAMA5D2 "Industrial Connectivity Platform" reference board commit, commit
NXP i.MX8m based Beacon i.MX8m-Mini SoM development kit commit
Octavo OSDMP15x based Linux Automation MC-1 development board commit, commit
Qualcomm SDM660/SDM630 platform and the Xiaomi Redmi Note 7 (lavender) phone commit, commit, commit
STMicroelectronics STM32MP1 based Stinger96 single-board computer and IoT Box commit, commit
Samsung Exynos4210 based based Samsung Galaxy S2 phone commit, commit
TI am5729 based Beaglebone-AI development board commit
colibri: introduce device trees with UHS-I support commit
The PXA platform drops support for Compulab's pxa2xx boards that had rather unusual flash and PCI drivers but no known users remaining commit
- coresight
tegra: fuse: Add custom SoC attributes commit
qcom: cmd-db: Add debugfs dumping file commit
ti: add k3 platforms chipid module driver commit
perf arm-spe: Add support for synthetic events commit, commit, commit
- ARM64
Add missing 32 bit system registers (ID_PFR2, ID_DFR1 and ID_MMFR5) and add missing features bits on all existing system registers (32 and 64 bit) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
crash_core: Export KERNELPACMASK in vmcoreinfo commit, commit
(FEATURED) Branch Target Identification support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for protecting the kernel and vDSO with BTI including code compiled with the BPF JIT at runtime commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Allow the compat vdso (32b) to be compiled as either THUMB2 (default) or ARM commit
Support enabling dirty log gradually in small chunks commit
11.2. MIPS
Identify Loongson-2K processors commit
Add page soft dirty tracking commit
ingenic: Add support for GCW Zero prototype commit
CPUCFG emulation future-proofing & HWCAP addition commit, commit, commit
Loongson-3: Add some unaligned instructions emulation commit
Loongson: Add support for perf tool commit
perf: Add hardware perf events support for new Loongson-3 commit
Prepare MIPS-arch code for Baikal-T1 SoC support commit, commit, commit, commit, commit, commit, commit, commit, commit
KVM: Add Loongson-3 support (Host Side) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Remove support for LASAT commit
Remove PMC MSP71xx platform commit
Remove NEC MARKEINS/EMMA commit
11.3. X86
Fixes for the new SRBDS security issue. SRBDS is an MDS-like speculative side channel that can leak bits from the random number generator (RNG) across cores and threads. New microcode serializes the processor access during the execution of RDRAND and RDSEED. This ensures that the shared buffer is overwritten before it is released for reuse. This is equivalent to a full bus lock, which means that many threads running the RNG instructions in parallel have the same effect as the same amount of threads issuing a locked instruction targeting an address which requires locking of two cachelines at once commit, commit, commit, commit
Add an initrdmem= option to specify initrd physical address commit
- platform
Add Elkhart Lake SCU/PMC support commit
Add Slim Bootloader firmware update signaling driver commit
ISST: Add new PCI device ids commit
thinkpad_acpi: Add support for dual fan control commit
touchscreen_dmi: Add info for the MP-man MPWIN895CL tablet commit
touchscreen_dmi: Add info for the ONDA V891 v5 tablet commit
touchscreen_dmi: Add info for the Trekstor Yourbook C11B commit
touchscreen_dmi: Add touchscreen info for techBite Arc 11.6 commit
touchscreen_dmi: add Vinga J116 touchscreen commit
Remove CONFIG_DOUBLEFAULT on 32 bits commit
Drop deprecated DISCONTIGMEM support for 32-bit commit
amd_nb: Add AMD family 17h model 60h PCI IDs commit
Introduce TPAUSE instruction that suspends execution in a lower power state until the TSC (Time Stamp Counter) exceeds a certain value commit, commit, commit
binfmt_elf: Update READ_IMPLIES_EXEC logic for modern CPUs commit, commit, commit, commit, commit, commit
Support XSAVES supervisor states in preparation for new features that will make use of supervisor xstates commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mce: Add mce=print_all option commit
resctrl: Support wider MBM counters commit, commit, commit, commit, commit, commit, commit
split_lock: Add Icelake microserver and Tigerlake CPU models commit
tsc: Add tsc_early_khz command line parameter commit
- intel_th
iommu/vt-d: Add page request draining support commit, commit, commit, commit, commit
- perf
rapl: Add AMD Fam17h RAPL support commit
rapl: Add Ice Lake RAPL support commit
perf: Add hardware performance events support for Zhaoxin CPU commit
perf intel-pt: Sampling improvements commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
perf intel-pt: Add support for synthesizing branch stacks for regular events commit, commit, commit, commit, commit, commit, commit, commit, commit
powercap/intel_rapl: add support for ElkhartLake commit
efi: Support builtin command line commit
- KVM
VMX: enable X86_FEATURE_WAITPKG in KVM capabilities commit
Improve latency for single target IPI fastpath commit
nSVM: migration support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add module param to force TLB flush on root reuse commit
Support full width counting commit
Interrupt-based mechanism for async_pf 'page present' notifications commit, commit, commit, commit, commit, commit, commit
Nested Shared Virtual Address (SVA) VT-d support: Shared virtual address (SVA), a.k.a, Shared virtual memory (SVM) on Intel platforms allow address space sharing between device DMA and applications. SVA can reduce programming complexity and enhance security. This enables SVA virtualization, i.e. enable use of SVA within a guest user application commit, commit, commit, commit, commit, commit, commit, commit
hyper-v: add support for synthetic debugger commit, commit, commit, commit, commit, commit, commit, commit
11.4. POWERPC
crypto/nx: Enable GZIP engine and provide userpace API commit, commit, commit, commit, commit, commit, commit, commit, commit
powerpc/papr_scm: Add support for reporting nvdimm health commit, commit, commit, commit, commit, commit
Initial Prefixed Instruction support: A future revision of the ISA will introduce prefixed instructions. A prefixed instruction is composed of a 4-byte prefix followed by a 4-byte suffix. This series enables prefixed instructions and extends the instruction emulation to support them commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
powerpc/32: Disable KASAN with pages bigger than 16k commit
Modernise powerpc 40x commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Use hugepages to map kernel mem on 8xx commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Base support for POWER10 commit, commit, commit, commit, commit, commit
hv-24x7: Expose chip/sockets info to add json file metric support for the hv_24x7 socket/chip level events commit, commit, commit, commit, commit
Enables memory hot-remove after reboot on pseries guests commit
Track and expose idle PURR and SPURR ticks commit, commit, commit, commit, commit
xmon: Support 2nd DAWR commit
Add stress_slb kernel boot option to increase SLB faults and stress test some code commit
11.5. RISCV
Add KGDB and KDB support commit, commit, commit, commit, commit
Allow device trees to be built into the kernel commit
K210: Add a built-in device tree commit
Use 16KB kernel stack on 64-bit commit
11.6. S390
Expose new port attribute for PCIe functions commit
Add pci=norid} when on, disallow the use a new firmware field, RID commit
qeth: add debugfs file for local IP addresses commit
vfio-ccw: Channel Path Handling commit, commit, commit, commit, commit, commit, commit, commit
vfio-ccw: Enable transparent CCW IPL from DASD commit
11.7. ARC
11.8. M68K
mcf5441x: add support for esdhc mmc controller commit
11.9. SH
Remove sh5 support commit
11.10. PARISC
Add sysctl file interface panic_on_stackoverflow commit
12. Drivers
12.1. Graphics
Managed DRM resources, a little internal framework for managed resources tied to the drm_device lifetime commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- Intel
Global sseu pinning commit
Per-engine default property values in sysfs commit
- Tigerlake GEN12 enabled.
Cherryview full-ppgtt support commit
Add new PCI IDs to TGL commit
Add YUV444 packed format support for skl+ commit
Port sync for skl+ commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add debugfs entry for DP phy compliance commit
Add connector debugfs for all connectors commit
Add i915_lpsp_capability debugfs commit
Add i915_lpsp_status debugfs attribute commit
Drop stage_pool debugfs commit
- amdgpu
Introduce secure buffer object support (trusted memory zone) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Support FP16 pixel format commit
Introduces ACQUIRE_MEM packet submission at the begining of each gfx IB if requested by user mode client. This is helpful in solving issues with cache coherency during amdgpu_test and Vulkan CTS tests commit, commit, commit, commit
FRU chip access support commit
VCN DPG (powergating) enablement commit
Add autodump debugfs node for gpu reset commit
Add HDCP caps debugfs commit
p2p dma-buf support commit
gfx10 soft recovery commit
- amdkfd
- nouveau
- adv7511
HDMI SPDIF support commit
- lima
- MSM
- vkms
Enable cursor by default commit
- rockchip
Add support for afbc commit
- bridge
- panel
Add ASUS TM5P5 NT35596 panel driver commit
Add Starry KR070PE2T commit
Add panel driver for Leadtek LTK050H3146W commit
Add support for rm69299 visionox panel commit
Support for boe,tv105wum-nw0 dsi video mode panel commit
nt39016: Add support for 50 Hz refresh rate commit
nt39016: Add support for multiple modes commit
simple: Add BOE NV133FHM-N61 commit
simple: Add BOE NV133FHM-N62 commit
simple: Add Ivo M133NWF4 R0 commit
simple: Add support for AUO G121EAN01.4 panel commit
simple: Add support for AUO G156XTN01.0 panel commit
simple: Add support for AUO G190EAN01 panel commit
backlight: qcom-wled: Add support for WLED5 peripheral that is present on PM8150L PMICs commit
12.2. Power Management
ACPI: Add support for DPTF (Dynamic Platform and Thermal Framework) battery participant device support commit, commit
cpuidle: Make cpuidle governor switchable to be the default behaviour commit, commit, commit, commit, commit, commit
Improve SBS battery support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- thermal
12.3. Storage
nvme-fc/nvmet-fc: Add FC-NVME-2 disconnect association support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
nvme-rdma/nvmet-rdma: Add metadata/T10-PI support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- SCSI
dh: Add Fujitsu device to devinfo and dh lists commit
qedi: Add modules param to enable qed iSCSI debug commit
scsi_debug: random doublestore verify commit, commit, commit, commit, commit, commit, commit, commit
scsi_debug: Add ZBC support commit, commit, commit, commit, commit, commit, commit
sd: Add zoned capabilities device attribute commit
Introduce Zone Append for writing to zoned block devices commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
ufs: Add write booster feature support commit, commit, commit
ufs: Allow WriteBooster on UFS 2.2 devices commit
ufs: support LU Dedicated buffer mode for WriteBooster commit, commit, commit, commit, commit, commit, commit, commit
hisi_sas: Add SAS_RAS_INTR0 to debugfs register name list commit
12.4. Drivers in the Staging area
media: imx: imx7-mipi-csis: Add missing RAW formats commit, add support for 10-bit YUV 4:2:2 commit
atomisp: add support for different PMIC configurations commit
tegra-video: Add Tegra210 Video input driver commit
wfx: allow to join IBSS networks commit
wfx: add support for hardware revision 2 and further commit
12.5. Networking
- Bluetooth
btbcm: Add 2 missing models to subver tables commit
btbcm: Added 003.006.007, changed 001.003.015 commit
btrtl: Add support for RTL8761B commit
btusb: Add support for Intel Bluetooth Device Typhoon Peak (8087:0032) commit
Add BTUSB and quirk support for the driver to confirm that the reported LE_states can be trusted commit, commit, commit
btusb: Enable MSFT extension for Intel ThunderPeak devices commit
hci_qca: Add support for Qualcomm Bluetooth SoC QCA6390 commit
hci_qca: Enable WBS support for wcn3991 commit
Infiniband: hfi1: Accelerated IP using the rdma netdev mechanism commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- RDMA
- ath10k
- ath11k
- atlantic
ax88179_178a: Implement ethtool_ops set_eeprom commit
bcmgenet: add support for Wake on Filter commit, commit, commit, commit, commit, commit, commit
brcmfmac: adds the second p2p connection support commit, commit
carl9170: remove P2P_GO support commit
cxgb4: Improve and tune TC-MQPRIO offload commit, commit, commit
- dpaa2-eth:
- dsa
felix: tc taprio and CBS offload support commit, commit, commit
mv88e6xxx: 88e6390 10G serdes support commit
Traffic support for dsa_8021q in vlan_filtering=1 mode commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
tc-gate offload for SJA1105 DSA switch commit, commit, commit, commit, commit, commit
sja1105: offload the Credit-Based Shaper qdisc commit
- ena
- enetc:
dwmac: add ethernet glue logic for NXP imx8 chip commit
- hinic
- hns3
- ice
- igc
Add ECN support for TSO commit
Add partial generic segmentation offload (GSO partial) support commit
Enable NETIF_F_HW_TC flag by default commit
Add Receive Error Counter commit
Add new device IDs for i225 part commit
Enable NFC rules based on source MAC address commit, commit, commit, commit
Add support to eeprom, registers and link self-tests commit
ionic: add more ethtool stats commit
- iwlwifi
Add ACPI DSM support commit
Add new cards for AX family commit
Add support for range request command version 9 commit and version 10 commit
Support version 9 of WOWLAN_GET_STATUS notification commit
Enable A-MSDU in low latency mode commit
Remove iwlmvm's tfd_q_hang_detect module parameter commit
Stop supporting swcrypto and bt_coex_active module parameters commit
pcie: add n_window/ampdu to tx_queue debugfs commit
Remove fw_monitor module parameter commit
ks8851: Implement Parallel bus operations commit
lan743x: Added fixed link and RGMII support commit
- mac80211_hwsim
- mlx5
Driver part of the RDMA-CM ECE series commit, commit, commit, commit, commit, commit, commit, commit
Add support for drop action in DV steering commit
Add steering support for default miss commit, commit, commit, commit
Support TX port affinity for VF drivers in LAG mode commit
Add support for COPY steering action commit
Add support for RDMA TX FT headers modifying commit
Add support to get xmit slave commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Set flow_label and RoCEv2 UDP source port for datagram QP commit, commit, commit, commit, commit, commit, commit
Introduce IPsec Connect-X offload hardware bits and structures commit
Introduce TLS RX offload hardware bits commit
- mlx5e
New mlx5 kconfig flag for TC support commit, commit, commit, commit
Support for MPLS over UPD encap and decap TC offloads commit, commit, commit, commit
Support for self looback to allow communication between ipoib pkey child interfaces on the same host commit, commit
Support VM traffics failover with bonded VF representors and e-switch egress/ingress ACLs commit, commit, commit, commit, commit, commit, commit
- mscc:
- mt76
Add MediaTek IEEE 802.11ax devices - MT7915E commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Enable TDLS support commit
Enable p2p support commit
Introduce WoW support to mt7663 driver commit, commit, commit, commit, commit, commit, commit
hw scan, scheduled scan and noise floor estimation commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mt7615: add more useful Tx mib counters commit
mt7615: add passive mode for hw scan commit
mt7615: add support for MT7611N commit
mt7615: disable aspm by default commit
mt7615: enable MSI by default commit
mt7615: enable scs for mt7663 driver commit
mt7663: add support to sched scan with randomise addr commit
mt7663: add the possibility to load firmware v2 commit
mt7663u: enable AirTimeFairness commit
mt76x02u: Add support for newer versions of the XBox One wifi adapter commit
mt76x0: pci: add mt7610 PCI ID commit
mt76x2u: introduce Mercury UD13 support commit
MT7915: add TxBF support commit, commit, commit, commit, commit, commit, commit
Add rx queues info to mt76 debugfs commit
mt7915: add spatial reuse support commit
Add the driver for the MediaTek STAR Ethernet MAC currently used on the MT8* SoC family commit
mvneta: Add 2500BaseX support for SoCs without comphy commit
mwifiex: Add support for NL80211_ATTR_MAX_AP_ASSOC_STA commit
p54usb: add AirVasT USB stick device-id commit
- PHY
Add Broadcom BCM54140 support commit
at803x: add cable diagnostics support commit
at803x: add cable diagnostics support for ATH9331 and ATH8032 commit
at803x: add downshift support commit
at803x: add support for AR8032 PHY commit
broadcom: cable tester support commit, commit, commit, commit
bcm54140: add hwmon support commit
broadcom: Add support for BCM53125 internal PHYs commit
broadcom: add support for BCM54811 PHY commit
Raw PHY TDR data commit, commit, commit, commit, commit, commit, commit
micrel: add phy-mode support for the KSZ9031 PHY commit
tja11xx: add cable-test support commit
tja11xx: add initial TJA1102 support commit
Provide support for PHY master/slave configuration commit, commit
ptp: Add adjust_phase to ptp_clock_caps capability commit
qed/qede: critical hw error handling commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
qed*: Add support for pcie advanced error recovery commit, commit
qed: Add EDPM mode type for user-fw compatibility commit
qmi_wwan: add support for Quectel EG95 LTE modem commit
rt2800: enable MFP support unconditionally commit
- rtw88
- stmmac
ti: k3: introduce common platform time sync driver - cpts commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
wlcore: Add support for IGTK key commit
12.6. Audio
fireface: add support for RME FireFace 802 commit
fireface: add support for RME Fireface UFX commit
firewire-motu: add support for MOTU UltraLite-mk3 (FireWire only model) commit
- hda
realtek: Add LED class support for micmute LED commit
realtek: Enable headset mic of Acer TravelMate B311R-31 with ALC256 commit
realtek: enable headset mic of ASUS ROG Zephyrus G14(G401) series with ALC289 commit
Add ElkhartLake HDMI codec vid commit
Intel: add missing PCI IDs for ICL-H, TGL-H and EKL commit
Add autodetection for SoundWire commit
Add sienna_cichlid audio asic id for sienna_cichlid up commit
Adds support for polling and non-blocking read for hwdep interface commit, commit
usb-audio: Add duplex sound support for USB devices using implicit feedback commit
usb-audio: Add Pioneer DJ DJM-900NXS2 support commit
usb-audio: RME Babyface Pro mixer patch commit
- ASoC
Add initial ZL38060 driver commit
Intel: Skylake: Automatic DMIC format configuration according to information from NHLT commit
Intel: boards: sof-wm8804: support for Hifiberry Digiplus boards commit
Intel: boards: support Elkhart Lake with rt5660 commit
Add Renoir ACP driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
da7213: Add regulator support commit
max98390: Added Amplifier Driver commit
max9867: add digital microphone controls commit
max9867: add mono playback switch commit
mmp-sspa: Make sound work on DT-based MMP2 machines commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
rt1016: Add the rt1016 support commit
snd-sof-intel-hda-common: add hda_model parameter and pass it to HDA codec driver commit
tlv320adcx140: Add controls for PDM clk commit
tlv320adcx140: Add support for configuring GPI pins commit
nau8810: add AUX related dapm widgets and routes commit
- SOF
Add support for SOF on i.MX8M commit, commit, commit, commit, commit
Intel: add PCI ID for CometLake-S commit
Intel: add PCI ID for ElkhartLake commit
Intel: add PCI IDs for ICL-H and TGL-H commit
Support for an extended firmware manifest, which helps retrieve capabilities directly from the firmware file instead of the current IPC mechanism commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add probe support extend data commit
soundwire: bus_type: add sdw_master_device support commit, commit, commit, commit, commit
ac97: Remove sound driver for ancient platform commit
12.7. Tablets, touch screens, keyboards, mouses
Add driver for the Cypress CY8CTMA140 touchscreen commit
Add support for Azoteq IQS269A commit
elan_i2c: add more hardware ID for Lenovo laptops commit
i8042: add Lenovo XiaoXin Air 12 to i8042 nomux list commit
mms114: add extra compatible for mms345l commit
synaptics: enable InterTouch for ThinkPad X1E 1st gen commit
Delete unused GP2AP002A00F driver commit
Remove msm-vibrator driver commit
- HID
12.8. TV tuners, webcams, video capturers
Add V4L2_CAP_IO_MC to indicate that input and output are controlled by the Media Controller instead of V4L2 commit, commit, commit, commit, commit
Add support for the CODA960 JPEG decoder to the coda-vpu driver commit, commit
Report camera properties commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
media: rockchip: Add the rkvdec driver commit, commit, commit, commit
coda: add RC enable controls commit
coda: jpeg: support optimized huffman tables commit
si2157: Analog tuning and optimizations commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
dvb-usb: Add Cinergy S2 PCIe Dual Port support commit
i2c: Add ov2740 image sensor driver commit
ov8856: Add devicetree support commit
vimc: Make use of V4L2_CAP_IO_MC commit
vimc: Add support for {RGB,BGR,GBR}888 bus formats on debayer source pad commit, commit, commit
sh_veu: Remove driver commit
12.9. Universal Serial Bus
roles: Enable role-switch uevent reporting commit
chipidea: Enable user-space triggered role-switching commit
chipidea: introduce imx7d USB charger detection commit
chipidea: udc: add software sg list support commit
dwc3: gadget: Handle streams commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
dwc3: meson: add OTG support for GXL/GXM commit, commit, commit, commit, commit, commit, commit, commit
dwc3: Add support for DWC_usb32 IP commit
dwc3: pci: add support for the Intel Jasper Lake commit
dwc3: pci: add support for the Intel Tiger Lake PCH -H variant commit
gadget: tegra-xudc: Add Tegra194 support commit
Add XHCI, EHCI and OHCI support for Broadcom STB SoS's commit, commit, commit, commit
renesas-xhci: Add the renesas xhci driver commit
serial: ch341: add new Product ID for CH340 commit
serial: cypress_m8: enable Simply Automated UPB PIM commit
serial: option: add GosunCn GM500 series commit
serial: option: add Quectel EG95 LTE modem commit
serial: option: add Telit LE910C1-EUX compositions commit
serial: qcserial: add DW5816e QDL support commit
typec: mux: intel_pmc_mux: Support for static SBU/HSL orientation commit
xhci: Add support for Renesas controller with memory commit
12.10. Serial Peripheral Interface (SPI)
bcm-qspi: add support for MSPI sys clk 108Mhz commit
dw: Add Elkhart Lake PSE DMA support commit
dw: Add support for DesignWare DWC_ssi commit
dw: Add support for Intel Keem Bay SPI commit
dw-apb-ssi: Add Intel Keem Bay support commit
pxa2xx: Add support for Intel Tiger Lake PCH-H commit
spi-amd: Add AMD SPI controller driver support commit
spi-rockchip: add support for spi slave mode commit
spidev: Add support for Octal mode data transfers commit
stm32-qspi: Add pm_runtime support commit
12.11. Real Time Clock (RTC)
12.12. Pin Controllers (pinctrl)
intel: Add Intel Jasper Lake pin controller support commit
qcom: Add sm8250 pinctrl driver commit
sh-pfc: r8a7790: Add r8a7742 PFC support commit
12.13. Multi Media Card (MMC)
Export device/vendor ids from Common CIS for SDIO cards commit
Expose info about enhanced rpmb support commit
host: add Coldfire esdhc support commit
host: meson-mx-sdhc: new driver for the Amlogic Meson SDHC host commit
sdhci: arasan: Add support for Versal Tap Delays commit
sdhci-esdhc-imx: Add HS400 support for i.MX6SLL commit
sdhci-of-arasan: Add support for Intel Keem Bay commit
sdhci-of-dwcmshc: add suspend/resume support commit
sdhci-pci-gli: Add Genesys Logic GL9763E support commit
12.14. Memory Technology Devices (MTD)
MLC in SLC mode commit, commit, commit, commit, commit, commit, commit, commit
rawnand: Remove the cmx270 NAND controller driver commit
rawnand: arasan: Add new Arasan NAND controller commit
rawnand: arasan: Support the hardware BCH ECC engine commit
rawnand: brcmnand: support v2.1-v2.2 controllers commit
spi-nor: Add support for Cypress cy15x104q commit
spi-nor: Add support for s25fs128s1 commit
spi-nor: macronix: Add support for mx25l51245g commit
spi-nor: macronix: Add support for mx25u51245g commit
spi-nor: spansion: Enable dual and quad read for s25fl256s0 commit
12.15. Industrial I/O (iio)
Add SEMTECH SX9310/9311 sensor driver commit
accel: Add bma150 family support to bma180 commit, commit, commit, commit, commit, commit, commit
accel: st_sensors: add support for LIS2HH12 commit
adi-axi-adc,ad9647: Add support for AD9467 ADC commit, commit, commit, commit, commit, commit, commit, commit
adc: Add MAX1241 driver commit
adc: Add scaling support to exynos adc driver commit
adc: ad7476: Add AD7091 support commit
adc: mp2629: Add support for mp2629 ADC driver commit
bmg160: Add support for BMI088 chip commit
chemical: Add support for external Reset and Wakeup in CCS811 commit
chemical: add atlas-ezo-sensor initial support commit
chemical: atlas-sensor: add RTD-SM module support commit
imu: Add support for adis16475 commit
imu: inv_mpu6050: add debugfs register r/w interface commit
imu: st_lsm6dsx: Add sensor hub device LIS3MDL commit
light: cm32181: Add support for ACPI enumeration commit
light: cm32181: Add support for the CM3218 commit
magnetometer: ak8974: add Alps hscdtd008a commit
proximity: Add driver support for vcnl3020 proximity sensor commit
vcnl: Add interrupts support for VCNL4010/20 commit, commit, commit, commit, commit
12.16. Multi Function Devices (MFD)
Add Gateworks System Controller core driver commit
Add support for PMIC MT6360 commit
mp2629: Add support for mps battery charger commit
12.17. Pulse-Width Modulation (PWM)
Add support for Azoteq IQS620A PWM generator commit
jz4740: Add support for the JZ4725B commit
sun4i: Support direct clock output on Allwinner A64 commit
tegra: Support dynamic clock frequency configuration commit
12.18. Inter-Integrated Circuit (I2C + I3C)
Add Qualcomm CCI I2C driver commit
cadence: Added slave support commit
designware: Add Baikal-T1 System I2C support commit
designware: Allow slave mode for PCI enumerated devices commit
iproc: add support for SMBUS quick cmd commit
mediatek: Add i2c ac-timing adjust support commit
npcm7xx: Add Nuvoton NPCM I2C controller driver commit
npcm7xx: Add support for slave mode for Nuvoton commit
pxa: implement generic i2c bus recovery commit
slave-eeprom: add support for 24c512 EEPROMs commit
tegra: Add support for the VI I2C on Tegra210 commit
12.19. Hardware monitoring (hwmon)
Add amd_energy driver to report core and package energy sensors, based on RAPL MSR for AMD family 17h and above CPUs commit, commit
ina2xx: Implement alert functions commit
k10temp: Add AMD family 17h model 60h PCI match commit
lm70: Add support for ACPI commit
lm90: Add max6654 support to lm90 driver commit
nct7904: Add watchdog function commit
pmbus: Driver for Maxim MAX16601 commit
Add Gateworks System Controller support commit
hwmon: Add Baikal-T1 SoC Process, Voltage and Temp sensor support commit, commit
Add Baikal-T1 PVT sensor driver commit
12.20. General Purpose I/O (gpio)
12.21. Leds
Add aw2013 driver commit
Add sgm3140 driver commit
ariel: Add driver for status LEDs on Dell Wyse 3020 commit
12.22. DMA engines
idxd: export hw version through sysfs commit
12.23. Cryptography hardware acceleration
chcr: support for 48 byte key_len in aes-xts commit
chtls: IPv6 support for inline TLS commit
crypto/nx: Enable GZIP engine and provide userpace API commit, commit, commit, commit, commit, commit, commit
ccp: Add support for SEV-ES to the PSP driver commit
hisilicon: add debugfs for DFX commit, commit, commit, commit, commit, commit, commit
hisilicon: add controller reset support commit, commit, commit, commit, commit
hisilicon: add vfs_num module parameter for hpre/sec commit
12.24. PCI
Add Loongson PCI Controller support commit
Add endpoint driver for R-Car PCIe controller commit, commit, commit, commit, commit, commit, commit, commit
P2PDMA: Add AMD Zen Raven and Renoir Root Ports to whitelist commit
aardvark: Add PHY support commit
rcar: Add endpoint mode support commit
rcar: Add suspend/resume commit
uniphier: Add Socionext UniPhier Pro5 PCIe endpoint controller driver commit
12.25. Non-Transparent Bridge (NTB)
intel: Add Icelake (gen4) support for Intel NTB commit
12.26. Thunderbolt
Add support for Intel Tiger Lake commit
12.27. Clock
Add Baikal-T1 SoC Clock Control Unit support commit, commit, commit, commit
Ingenic: Add CGU driver for X1830 commit
clk-si5341: Add support for the Si5345 series commit
intel: Add CGU clock driver for a new SoC commit
mediatek: Add MT6765 clock support commit
mmp2: Enable Audio and GPU on MMP2 and MMP3 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mmp2: Add audio clock controller driver commit
- Add the missing clock drivers and dts nodes to enable the GPU on both SM8150 and SM8250
qcom: gcc-msm8939: Add MSM8939 Generic Clock Controller commit
qcom: gcc: Add GPU and NPU clocks for SM8150 commit
qcom: gcc: Add missing UFS clocks for SM8150 commit
renesas: cpg-mssr: Add R8A7742 support commit
socfpga: agilex: add clock driver for the Agilex platform commit
tegra: Add custom CCLK implementation commit
tegra: Implement Tegra210 EMC clock commit
vc5: Add support for IDT VersaClock 5P49V6965 commit
timer-ti-dm: Add clockevent and clocksource support commit
12.28. PHY ("physical layer" framework)
Add driver for Qualcomm IPQ40xx USB PHY commit
cadence: salvo: add salvo phy driver commit
intel: Add driver support for ComboPhy commit
qcom-qmp: Add QMP V3 USB3 PHY support for SC7180 commit
qcom-qmp: Add SM8150 QMP USB3 PHY support commit
qcom-snps: Add SNPS USB PHY driver for QCOM based SOCs commit
ti: am654: add support for USB super-speed commit, show up in regmap debugfs commit
12.29. EDAC (Error Detection And Correction)
amd64: Add AMD family 17h model 60h PCI IDs commit
12.30. 1-Wire (W1)
- w1_therm
12.31. Firmware
xilinx: Add xilinx specific sysfs interface commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
SCMI Notifications Core Support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
imx: support SCU channel type commit, commit, commit, commit
12.32. Various
- habanalabs
Add GAUDI ASIC support. Similar to GOYA, GAUDI includes a set of eight TPC cores, a GEMM engine and DMA channels to move data between host and different memories of the ASIC. Each engine has a hardware queue manager (QMAN) attached to it, which exposes 4 streams to allow complex programs with control flows (in GOYA you had 1 stream per QMAN) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add INFO IOCTL opcode for time sync information commit
Support hwmon_reset_history attribute commit
Add signal/wait to CS IOCTL operations commit, commit, commit, commit
Enable trace data compression (profiler) commit
Add Baikal-T1 SoC APB/AXI/L2 drivers commit, commit, commit, commit, commit
bus: Add driver for Integrator/AP logic modules commit
fpga: dfl: fme: add performance reporting support commit, commit
fpga: dfl: support multiple opens on feature device node commit
interconnect: Add imx support via devfreq commit, commit, commit, commit, commit
irqchip: Three Loongson irqchip support commit, commit, commit, commit, commit, commit
iommu: Add Allwinner H6 IOMMU driver commit
irqchip: RISC-V per-HART local interrupt controller driver commit
mailbox: Add support for Qualcomm IPCC commit
mailbox: imx: Support runtime PM commit
mailbox: qcom: Add ipq6018 apcs compatible commit
mailbox: sprd: Add Spreadtrum mailbox driver commit
mei: me: add tiger lake point device ids for H platforms commit
mfd: Add support for the MediaTek MT6358 PMIC commit
misc: pci_endpoint_test: Add Device ID for RZ/G2E PCIe controller commit
mptcp: add new sock flag to deal with join subflows commit
of: reserved-memory: Support lookup of regions by name commit
of: reserved-memory: Support multiple regions per device commit
opp: Add support for parsing interconnect bandwidth commit
opp: Expose bandwidth information via debugfs commit
pinctrl: imx: Add imx8dxl driver commit
ptp: Add adjphase function to support phase offset control commit
remoteproc: qcom: Add callbacks for remoteproc events commit, commit, commit
remoteproc: Add PAS and MSA based Modem support commit, commit, commit, commit, commit, commit, commit
remoteproc: Add support for runtime PM commit
remoteproc: ingenic: Added remoteproc driver commit
remoteproc: qcom: pas: Add SM8250 PAS remoteprocs commit
reset: hi6220: Add support for AO reset controller commit
reset: imx7: Add support for i.MX8MP SoC commit
scs: Add support for Clang's Shadow Call Stack (SCS) commit
spi: spidev_test: Add support for Octal mode data transfers commit
- tee
13. List of Pull Requests