4475
Comment:
|
880
Linux 5.4 released
|
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 [http://kernelnewbies.org/status/latest.html Kernelnewbies status] list (2.5.57 - 2.6.0-test9 done) * Import relevant data from [http://www.codemonkey.org.uk/post-halloween-2.5.txt davej's post halloween document] * Keep track of what gets changed 2.6.14: 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] * 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 2.6.11: 2.6.10: 2.6.9: 2.6.8: 2.6.7: 2.6.6: 2.6.5: 2.6.4: 2.6.3: 2.6.2: 2.6.1: 2.6.0: 2.6.0-test9: * [http://lwn.net/Articles/44243/ libata driver architecture] (Jeff Garzik) 2.6.0-test6: * [http://marc.theaimsgroup.com/?l=linux-kernel&m=104344596912094&w=2 32-bit dev_t] (Andries Brouwer, Al Viro) 2.6.0-test3: * [http://www.nsa.gov/selinux/index.html SELinux] (Stephen Smalley, SELinux team) 2.6.0-test1: * [http://www.linuxvirtualserver.org/ Linux Virtual Server layer] (Wensong Zhang) 2.5.75: * [http://marc.theaimsgroup.com/?l=linux-mm&m=104529418208788&w=2 Anticipatory Scheduler] (Nick Piggin, Andrew Morton) 2.5.71: * [http://marc.theaimsgroup.com/?l=linux-kernel&m=104981044405395&w=2 Switch the IDE I/O layers to taskfile](Bartlomiej Zolnierkiewicz, Alan Cox) 2.5.70: * [http://www.linux-usb.org/gadget USB gadget support] (David Brownell, Stuart Lynne, Greg Kroah-Hartman) 2.5.69: * [http://lwn.net/Articles/29555/ New interrupt handling API] (Linus Torvalds, Andrew Morton, etc.) 2.5.65: * [http://www.kerneltrap.org/node.php?id=603 Desktop Interactivity Improvements] (Linus Torvalds, Ingo Molnar) 2.5.63: * [http://high-res-timers.sourceforge.net/ POSIX timers] (George Anzinger) 2.5.60: * New modversions implementation (Kai Germaschewski) * 64-bit jiffies (Tim Schmielau) 2.5.59: * [http://home.arcor.de/efocht/sched/ NUMA aware scheduler extensions] (Erich Focht, Michael Hohnbaum, Martin Bligh) 2.5.57: * [http://www.zipworld.com.au/~akpm/linux/schedlat.html Remove long-held locks for low scheduling latency] (Andrew Morton, etc.) 2.5.54: * [http://secure.netroedge.com/~lm78/ Add drivers for hardware health monitoring] (lm_sensors team) |
<<Include(Linux_5.4)>> |
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.4 was released on 24 November 2019.
Summary: This release includes the kernel lockdown mode, intended to strengthen the boundary between UID 0 and the kernel; virtio-fs, a high-performance virtio driver which allows a virtualized guest to mount a directory that has been exported on the host; fs-verity, for detecting file tampering, like dm-verity, but works on files rather than block devices; dm-clone, which allows live cloning of dm targets; two new madvise() flags for improved app memory management on Android, support for new Intel/AMD GPUs, support for the exfat file system and removing the experimental status of the EROFS file system; a new haltpoll cpuidle driver and governor that greatly improves performance for virtualized guests wanting to do guest-side polling in the idle loop; and blk-iocost, a I/O cgroup controller that attempts to calculate the cost of I/O more accurately. As always, there are many other new drivers and improvements.
Contents
-
Coolest features
- Kernel lockdown mode
- virtio-fs, a bridge to share file systems with virtualized guests
- fs-verity, for detecting file modifications
- dm-clone
- Support for new AMD/Intel graphics
- Two new madvise() flags: MADV_COLD and MADV_PAGEOUT
- EROFS and exFAT
- More efficient polling in virtualized guests with haltpoll
- More accurate cgroup I/O control with blk-iocost
- Kernel symbol namespacing
- Core (various)
- File systems
- Memory management
- Block layer
- Tracing, perf and BPF
- Virtualization
- Cryptography
- Security
- Power Management
- Networking
- Architectures
-
Drivers
- Graphics
- 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)
- Watchdog
- Serial
- CPU Frequency Scaling
- Device Voltage and Frequency Scaling
- Real Time Clock (RTC)
- Voltage, current regulators, power capping, power supply
- 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)
- Various
- List of Pull Requests
- Other news sites
1. Coolest features
1.1. Kernel lockdown mode
This release introduces an optional kernel lockdown feature, intended to strengthen the boundary between UID 0 (root) and the kernel. When enabled, various pieces of kernel functionality are restricted. Applications that rely on low-level access to either hardware or the kernel may cease working as a result - therefore this should not be enabled without appropriate evaluation beforehand. The original purpose of this feature was to honour the anti-tampering protections expected in a secure-boot environment, but it is not tied to that. The majority of mainstream distributions have been carrying variants of this patchset for many years now.
Kernel lockdown is implemented as a Linux Security Module that can be configured in integrity or lockdown mode. If set to integrity, kernel features that allow userland to modify the running kernel are disabled. If set to confidentiality, kernel features that allow userland to extract confidential information from the kernel are also disabled. Configuration can be done at runtime (through securityfs), boot time (via a kernel parameter) or build time (via a kconfig option).
Recommended LWN article: Lockdown as a security module
1.2. virtio-fs, a bridge to share file systems with virtualized guests
This release includes virtio-fs, a FUSE-based virtio driver for guest <-> host file system sharing. It allows a guest to mount a directory that has been exported on the host. Although there are existing technologies that allow this kind of functionality (NFS, virtio-9P), virtio-fs takes advantage of the proximity of VMs to achieve API semantics and performance more like local file systems. This is desirable both for performance and for application compatibility.
For more details, see the documentation, the design documentation and the official web site
1.3. fs-verity, for detecting file modifications
fs-verity is a support layer that filesystems can use to support transparent integrity and authenticity protection of read-only files. It is similar to dm-verity but works on files rather than block devices. Currently, it is supported by the ext4 and f2fs filesystems.
On regular files on filesystems supporting fs-verity, userspace can execute an ioctl that causes the filesystem to build a Merkle tree for the file and persist it to a filesystem-specific location associated with the file. Optionally, it is possible sign files with a key loaded into a keyring. After this, the file is made readonly, and all reads from the file are automatically verified against the file's Merkle tree. Reads of any corrupted data, including mmap reads, will fail. Userspace can efficently retrieve the root hash ("file measurement") with another ioctl, which can be used for a variety of security applications.
For more details, read the documentation
Recommended LWN article: Yet another try for fs-verity
1.4. dm-clone
dm-clone is a device mapper target which produces a one-to-one copy of an existing, read-only source device into a writable destination device: It presents a virtual block device which makes all data appear immediately, and redirects reads and writes accordingly. The main use case of dm-clone is to clone a potentially remote, high-latency, read-only, archival-type block device into a writable, fast, primary-type device for fast, low-latency I/O. The cloned device is visible/mountable immediately and the copy of the source device to the destination device happens in the background, in parallel with user I/O.
For more details, see the documentation
1.5. Support for new AMD/Intel graphics
This release adds support in the amdgpu driver for four new amdgpu products: Navi 12/14, Arcturus and Renoir APU support.
It also includes the first pieces for supporting the future Intel Tiger Lake GPU.
1.6. Two new madvise() flags: MADV_COLD and MADV_PAGEOUT
In order to improve memory usage in some systems (notably, Android), two new madvise() flags have been added: MADV_COLD and MADV_PAGEOUT. These new options complement MADV_DONTNEED and MADV_FREE by adding non-destructive ways to gain some free memory space.
MADV_COLD hints the kernel that the pages can be reclaimed when memory pressure happens but data should be preserved for future use, this can reduce workingset eviction so it ends up increasing performance. In contrast to MADV_FREE, the contents of the region are preserved regardless of subsequent writes to pages. MADV_PAGEOUT can be used by a process to mark a memory range as not expected to be used for a long time so that kernel reclaims *any LRU* pages instantly. The hint can help kernel in deciding which pages to evict proactively. Access in the range after successful operation could cause major page fault but never lose the up-to-date contents unlike MADV_DONTNEED
1.7. EROFS and exFAT
This release moves the EROFS file system out of the staging area. First included in Linux 4.19, EROFS is a lightweight read-only file system with a modern design aimed for scenarios which need high-performance read-only requirements, e.g. firmware in mobile phone or Livecds. Recommended LWN article: On-disk format robustness requirements for new filesystems
This release also adds the exFAT file system to the staging area. Recommended LWN article: Examining exFAT
1.8. More efficient polling in virtualized guests with haltpoll
This release includes a haltpoll cpuidle driver and a new matching governor. These two pieces allows guest vcpus to poll for a specified amount of time before halting, which provides the following benefits to host side polling: 1) The POLL flag is set while polling is performed, which allows a remote vCPU to avoid sending an IPI (and the associated cost of handling the IPI) when performing a wakeup. 2) The VM-exit cost can be avoided. The downside of guest side polling is that polling is performed even with other runnable tasks in the host. For more details see the documentation
1.9. More accurate cgroup I/O control with blk-iocost
One challenge of controlling I/O resources is the lack of reliability of trivial cost metrics. Bandwidth and iops can be off by orders of magnitude depending on the device type and I/O pattern. This is challenging for the I/O cgroup controllers: while io.latency provides the capability to comprehensively prioritize and protect IOs depending on the cgroups, its protection is binary - the lowest latency target cgroup is protected at the cost of all others.
This release introduces blk-iocost, an I/O cost model based work-conserving proportional controller. It currently has a simple linear cost model builtin where each I/O is classified as sequential or random and given a base cost accordingly and additional size-proportional cost is added on top. Each I/O is given a fairly reliable cost, and distributes I/O capacity for each cgroup according to their hierarchical weight. For more details, see the cgroup documentation for io.cost.qos and io.cost.model
Recommended LWN article: The io.weight I/O-bandwidth controller (the io.weight name is no longer used)
1.10. Kernel symbol namespacing
In order to support modules, the kernel needs to export the symbols of functions needed by modules. With more than 30k of those symbols existing in the current kernel, managing the symbols is sometimes messy. This feature allows allows subsystem maintainers to partition and categorize their exported symbols into explicit namespaces, which makes easier to control the use of symbols. Module authors are now required to import the namespaces they need.
For more details, read the documentation
Recommended LWN article: Kernel symbol namespacing
2. Core (various)
(FEATURED) fs-verity: read-only file-based authenticity protection. fs-verity is similar to dm-verity, but implemented on a per-file basis: a Merkle tree is used to measure (hash) a read-only file's data as it is paged in. In general, fs-verity is intended for use on writable filesystems; dm-verity is still recommended on read-only ones. Support is added for Ext4 and F2FS file systems commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
fscrypt: Makes major improvements to how keys are added, removed, and derived in fscrypt, aka ext4/f2fs/ubifs encryption. It does this by adding new ioctls that add and remove encryption keys directly to/from the filesystem, and by adding a new encryption policy version ("v2") where the user-provided keys are only used as input to HKDF-SHA512 and are identified by their cryptographic hash commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- Task scheduler
topology: Improve load balancing on AMD EPYC systems commit
Extend the CPU cgroup controller with uclamp.min and uclamp.max to allow the finer shaping of CPU bandwidth usage commit, commit, commit, commit, commit, commit
Speed-up energy-aware wake-ups from O(CPUS^2) to O(CPUS) commit
Improve the behavior of high CPU count, high thread count applications running under cpu.cfs_quota_us constraints commit
Improve balancing with SCHED_IDLE (SCHED_BATCH) tasks present commit
Improve CPU isolation housekeeping CPU allocation NUMA locality commit
Convert the cpuset_mutex to percpu_rwsem, to allow it to be used from setscheduler() system calls without creating global serialization commit
- io_uring
IORING_OP_TIMEOUT support, a functionality similar to io_getevents() and epoll_wait(), where the user can specify a timeout for waiting on events commit
Improvement to the io_uring CQ ring wakeup for batched IO commit
Allocate SQ/CQ ring together, more efficient. Expose this through a feature flag as well, so we can reduce the number of mmaps by 1 commit, commit
Support SQ poll wakeup + event get in single io_uring_enter commit
Add support for links with drain commands commit
Increase IORING_MAX_ENTRIES from 4K to 32K commit
Limit parallelism of buffered writes commit
waitid() system call
Add P_PIDFD flag, which adds the ability to wait on processes using pidfds. This is one of the few missing pieces to make it possible to manage processes using only pidfds commit
Add support for waiting for the current process group commit
Symbol Namespaces. It adds namespacing to the symbols used by kernel modules. This feature allows subsystem maintainers to partition their exported symbols into separate namespaces, limit availability of these namespaced symbols to other parts of the kernel. For more details read the documentation. commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
VFS: adds a per-superblock minimum/maximum timestamp limit for a file system, and clamps timestamps as they are written, to avoid random behavior from integer overflow as well as having different time stamps on disk vs in memory. This helps futimens(), utimensat() and utimes() syscalls to conform to POSIX defined behavior when the time being set is outside of the corresponding filesystem's supported limits commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- Preparations for PREEMPT_RT
(hr)timers: Prepare for PREEMPT_RT support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
posix-timers: Prepare for PREEMPT_RT - part 1 commit, commit, commit, commit, commit, commit
Enforce interrupt threading at compile time on RT commit
Add binder state and statistics to binderfs commit, commit, commit, commit
kexec: add generic support for elf kernel images commit, commit, commit, commit, commit, commit, commit
Update the interrupt spreading code so it handles numa node with different CPU counts properly commit, commit
- RCU
Improve rwsem scalability commit
lockdep: Report more stack trace statistics commit
Prohibit writing to active swap files and swap partitions commit, commit
lkdtm: Add Control Flow Integrity test commit
kbuild: remove SUBDIRS support commit
3. File systems
- XFS
- F2FS
- CIFS
Introduces a new kernel command-line option called cifsroot= which will tell the kernel to mount the root file system over the network by utilizing SMB or CIFS protocol commit
Add support to send smb2 set-info commands from userspace commit
Allow chmod to set mode bits using special sid commit, commit
Add cache=singleclient mount option to allow shares accessed by only client to be more aggressively cached commit
Allow share to be mounted with cache=ro if immutable share commit
Add ioctl to dump decryption keys for debugging commit
Allow disabling requesting leases commit
Allow parallelizing decryption of reads commit
Allow skipping signature verification for perf sensitive configurations commit
Display max smb3 requests in flight at any one time commit
Enable offload of decryption of large reads via mount option commit
- ext4
Add ioctl EXT4_IOC_CLEAR_ES_CACHE to force an inode's extent status cache to be cleared out, intended for debugging commit
Add ioctl EXT4_IOC_GETSTATE, it returns some of the dynamic state of an ext4 inode, intended for debugging commit
Add ioctl EXT4_IOC_GET_ES_CACHE, it returns the contents of the extent. Intended for debugging commit
- AFS
afs: Support RCU pathwalk commit
- Ceph
Allow arbitrary security.* xattrs commit
Automatic recovery of a blacklisted filesystem session. This is disabled by default and can be enabled by mounting with the recover_session=clean boot option commit, commit, commit, commit, commit, commit, commit, commit, commit
Allow copy_file_range() within the same inode and across different filesystems within the same cluster commit
- Btrfs
- NFS
Add a new knfsd file descriptor cache, so that the kernel doesn't have to open and close on each (NFSv2/v3) READ or WRITE. This can speed up read and write in some cases. It also replaces the readahead cache commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Handling NFSv3 I/O errors in knfsd commit, commit, commit, commit
Optimise the default readahead size commit
Add hash of the kerberos principal to the data being tracked by nfsdcld commit, commit
Enable pNFS filelayout LAYOUTGET on OPEN commit
- UDF
Support 2048-byte spacing of VRS descriptors on 4K media commit
4. Memory management
(FEATURED) Introduce madvise() flags MADV_COLD, which marks pages as inactive (thus more easily reclaimed under memory pressure), but doesn't discard the contents like MADV_FREE does, and MADV_PAGEOUT, which reclaims pages immediately, but doesn't discard the contents like MADV_DONTNEED does. commit, commit, commit, commit
- Memory control group
Extend the shrink file to shrink all memcg caches for the slab cache. Before the commit, writing 1 to /sys/kernel/slab/<slab>/shrink was shrinking only the root cache. With SLUB_MEMCG_SYSFS_ON enabled and slub_memcg_sysfs=1 used, it was possible to shrink also memcg caches, but it was impractical. Now all memcg caches will be shrunk when writing to the "global" shrink file. commit
Throttle allocators when reclaim cannot keep up with v2 memory.high limit commit
Introduce gradual reclaim pressure between v2 memory.low and memory.min thresholds instead of the previous cliff behaviour. commit, commit, commit
Improve situation with multiple parallel reclaimers by letting each walk through the whole cgroup tree, resulting in fewer premature OOM kills. commit
Deprecate v1 kmem.limit_in_bytes due to causing unexpected ENOMEM failures and global OOM's. commit
Prevent premature OOM's due to deferred Transparent Huge Page split queue. commit, commit, commit, commit
Implement foreign inode flushing to avoid pathological cases when two different cgroups are writing to the same inode commit, commit, commit, commit, commit
Experimentally enable Transparent Huge Page support for text section (executable code) of non-shmem files (CONFIG_READ_ONLY_THP_FOR_FS) commit, commit, commit, commit, commit, commit, commit
Change the handling of Transparent Huge Page faults so that they are tried first on a local NUMA node with no memory reclaim allowed, and if they not succeed, for madvise(MADV_HUGEPAGE) areas retry on all nodes, allowing reclaim. This should prevent swap storms observed on pre-5.3 kernels with some workloads and also fix the reported regression for a different workload on 5.3 kernel. LWN merge, commit, commit commit commit, commit
Make uprobes uprobe Transparent Huge Page-aware. Instead of splitting whole THP when installing uprobe, split only the huge PMD, and reinstate it after uprobes are removed. commit commit, commit, commit, commit, commit
kmemleak: make it more robust during early allocations (before slab subsystem is initialized) by using a single memory pool commit, commit, commit, commit, commit, commit,
KASAN: for software tag-based mode, enhance the memory corruption report with a guess whether it is "use-after-free" or "out-of-bound" error instead of "invalid-access" error. commit
page_owner: store also the stack of who last freed the page and print it in dump_page() to improve debugging double free or use-after-free, especially when debug_pagealloc or KASAN are also enabled commit, commit, commit, commit, commit commit
oom: add task UID, oom_score_adj and pgtables to OOM message commit, commit
Provide a generic top-down mmap layout implementation commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
zswap: let zswap use movable memory with zsmalloc commit, commit
Guarantee alignment to size for kmalloc() allocations of power-of-two size, regardless of used sla*b allocator and activated debugging functions. Recommended LWN article LWN followup. commit, commit
Fix minutes or hours long stalls when setting nr_hugepages to too high values. commit, commit, commit, commit,
5. Block layer
(FEATURED) Support for blk-iocost, a IO cgroup controller that uses a model that can properly account cost of IO workloads commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
bfq: add to BFQ the missing per-device weight interfaces: blkio.bfq.weight_device on legacy and io.bfq.weight on cgroups v2 commit, commit, commit
Introduce a new request operation REQ_OP_ZONE_RESET_ALL that reset all zones. This is useful for the applications like mkfs commit, commit, commit, commit
- Device Mapper (dm)
(FEATURED) Add dm-clone target, which allows cloning of arbitrary block devices commit
writecache: Optimize writecache writeback for performance commit, commit, commit
dm verity: add root hash pkcs#7 signature verification. The verification is to support cases where the root hash is not secured by Trusted Boot, UEFI Secureboot or similar technologies commit
Introduce DM_GET_TARGET_VERSION. It will load a target that is specified in the "name" entry in the parameter structure and return its version. commit
md/raid0: Add module and feature flag to avoid RAID0 data corruption due to layout confusion commit, commit
md: allow last device in RAID1/RAID10 to fail and be removed commit, commit, commit
Remove now unused elevator boot argument commit
6. Tracing, perf and BPF
Addition of multiprobes to kprobe and uprobe events: support more than on probe in the same location commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- BPF
flow_dissector: pass input flags to BPF flow dissector program, so it can customize parsing by either stopping early or trying to parse as deep as possible commit, commit, commit, commit, commit, commit, commit
xdp: Add devmap_hash map type for looking up devices by hashed index commit, commit, commit, commit, commit, commit
Add BTF ids in procfs for file descriptors to BTF objects commit
Add a new command BPF_BTF_GET_NEXT_IDto the bpf() system call, and uses it in bpftool as to list all BTF objects (bpftool btf list) loaded on the system (and to dump the ids of maps and programs associated with them, if any) commit, commit, commit, commit, commit
Introduce BPF_F_TEST_STATE_FREQ flag to stress test parentage chain and state pruning commit
Expose BTF info through /sys/kernel/btf. It contains all the BTFs present inside kernel. Currently there is only kernel's main BTF, represented as /sys/kernel/btf/vmlinux file. Once kernel modules' BTFs are supported, each module will expose its BTF as /sys/kernel/btf/<module-name> file commit, commit
Implement the central part of CO-RE (Compile Once - Run Everywhere, an strategy to allow redistributable BPF binaries, see this and this) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Introduce a BPF helper to generate SYN cookies commit, commit, commit, commit, commit, commit
bpftool: add net attach/detach command to attach XDP prog commit, commit, commit, commit
bpftool: add support for reporting the effective cgroup progs commit
- perf
Initial libperf separation - check out tools/perf/lib and the initial documentation. 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, 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
perf list: Allow plurals for metric, metricgroup commit
perf record: Add an option to take an AUX snapshot on exit commit
Add --switch-on/--switch-off events in perf report commit, perf top commit, perf trace commit, perf script commit, commit, commit
Collect LBR callstack together with thread stack data commit, commit, commit
Add support for PEBS output to Intel PT commit, commit, commit, commit, commit, commit, commit
7. Virtualization
vfio/type1: Introduce an iova list associated with a vfio iommu. User-space can retrieve valid iova ranges using VFIO_IOMMU_GET_INFO ioctl capability chains commit, commit, commit, commit, commit, commit
8. Cryptography
CAESAR competition followup: remove aegis128l, aegis256 and morus, add better support for aegis128 commit, commit, commit, commit, commit, commit, commit, commit
Create an ESSIV template that produces a skcipher or AEAD transform based on a tuple of the form '<skcipher>,<shash>' (or '<aead>,<shash>' for the AEAD case). It exposes the encapsulated sync or async skcipher/aead by passing through all operations, while using the cipher/shash pair to transform the input IV into an ESSIV output IV
essiv - create wrapper template for ESSIV generation commit, commit, commit, commit, commit, commit
Make NETLINK_CRYPTO work inside netns commit
xts: add support for ciphertext stealing commit
9. Security
Appended signatures support for IMA appraisal. The kernel image on Power servers is an ELF binary, which are signed using the scripts/sign-file tool and thus use the same signature format as signed kernel modules. This release adds support in IMA for verifying those signatures. It adds flexibility to OpenPOWER secure boot, because it allows it to boot kernels with the signature appended to them as well as kernels where the signature is stored in the IMA extended attribute commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
LSM: Add security hook for fs notifications(fanotify, inotify, dnotify) commit
(FEATURED) LSM: Add kernel lockdown functionality 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
10. Power Management
Expose suspend stats in sysfs commit
Show wakeup sources stats in sysfs under /sys/class/wakeup/wakeup<ID>/ commit
(FEATURED) Introduce a new haltpoll cpuidle driver and a new matching governor for virtualized guests wanting to do guest-side polling in the idle loop commit, commit, commit, commit, commit, commit, commit, commit, commit, commit,
EFI: Export Runtime Configuration Interface table to sysfs commit
- ACPI
pm-graph v5.5 commit
11. Networking
Increase SOMAXCONN (/proc/sys/net/core/somaxconn) from 128 to 4096 commit
- TCP
Increase tcp_max_syn_backlog default to 4096 to match the recent SOMAXCONN change commit
Add a TCP_INFO counter that tracks out-of-order packet reception. It will allow understanding to what degree receive-heavy sockets are experiencing out-of-order delivery and packet drops indicating congestion. Please note that this is similar to the counter in NetBSD TCP_INFO, and has the same name commit
Add a TCP_INFO counter that tracks peer's advertised receive window after scaling commit
Add new tcp_mtu_probe_floor sysctl. The current implementation of TCP MTU probing can considerably underestimate the MTU on lossy connections. This sysctl allows to set a larger floor commit
IPv4/6: support setting SO_MARK for UDP and RAW sockets using cmsg. This is analogous to existing support for TOS, TTL, txtime, etc. commit
IPv6: add support for RFC7710 RA Captive Portal Identifier commit
- Netfilter
Support for updating stateful objects, this also includes the initial client for this infrastructure: the quota extension commit, commit
nft_synproxy: add synproxy stateful object support commit
Add offload support the vlan and tunnel device offload through indr-block architecture commit, commit, commit, commit, commit, commit
nfnetlink_log: add support for VLAN information commit
Add offload support for bitwise operation commit
nft_dynset: implements the delete operation from the ruleset commit
Introduce meta matches in the kernel for time, day, and hour commit
Support for fwd and dup offload commit
- Wireless
Add drop packet monitor for offloaded data paths commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
bridge: makes the bridge dump host-joined mdb entries, they should be treated as normal entries since they take a slot and are aging out commit, commit, commit, commit
devlink: send notifications for deleted snapshots on region destroy commit
dsa: ksz: Add KSZ8795 tag code commit
ethtool: implement Energy Detect Powerdown support via phy-tunable commit
- packet scheduler
- Bluetooth
Add support for utilizing Fast Advertising Interval commit
- Infiniband/RDMA
- can
batman-adv: Add OGMv2 per-interface queue and aggregations commit, commit
ncsi: Disable global multicast filter commit
RDS: Add RDS6_INFO_SOCKETS and RDS6_INFO_RECV_MESSAGES options commit
SCTP: support per endpoint auth and asconf flags commit, commit, commit, commit, commit, commit, commit, commit
TIPC: Add loopback device tracking commit
devmap: adds a new map type, devmap_hash, that works like the existing devmap type, but using a hash-based indexing scheme. This is useful for the use case where a devmap is indexed by ifindex (for instance for use with the routing table lookup helper) commit, commit, commit, commit, commit, commit
12. Architectures
12.1. ARM
- SoC changes
Support for the new ASpeed AST2600 gets added, this is based on the Cortex-A7 ARMv7 core, and is a newer version of the existing ARMv5 and ARMv6 chips in the same family commit
TI Davinci and NXP LPC32xx platforms have been converted to the ARCH_MULTIPLATFORM build, meaning that it is possible to compile a kernel that works on these along with most other ARMv5 platforms commit, commit
The Kendin/Micrel/Microchip KS8695, Winbond/Nuvoton W90x900 and Intel IOP33x/IOP13xx platforms are removed after it was determined that nobody is using them any more commit, commit, commit
- Device Tree changes
The Snapdragon 855 (SM8150) is Qualcomm's current high-end phone platform, usually paired with an external 5G modem. So far we only support the Qualcomm SM8150 MTP reference platform, but no actual products commit, commit, commit, commit, commit
For the slightly older Qualcomm platforms, support for several interesting products is getting added: Three laptops based on Snapdragon 835/MSM8998 (Asus NovaGo TP370QL commit, HP Envy X2 commit and Lenovo Miix 630 commit), one laptop based on Snapdragon 850/sdm850 (Lenovo Yoga C630 commit) and several phones based on the older Snapdragon 410/MSM8916 (Samsung Galaxy A3 and A5 commit, Longcheer L8150 aka Android One 2nd gen "seed" aka Wileyfox Swift commit)
Mediatek MT7629 is a new wireless network router chip, similar to the older MT7623. It gets added together with the reference board implementation commit
Allwinner V3 is a repackaged version of the existing low-end V3s chip, and is used in the tiny Lichee Pi Zero plus, also added here commit. There is also a new TV set-top box based on Allwinner H6, the Tanix TX6 commit, and the eMMC variant of the Olimex A64-Olinuxino development board commit
NXP i.MX8M Nano is a new member of the ever-expanding i.MX SoC family, similar to the i.MX8M Mini commit, commit. As usual, there is a large number of new boards for i.MX SoCs: !Einfochips i.MX8QXP AI_ML commit, SolidRun Hummingboard Pulse baseboard and System-on-Module commit, Boundary Devices i.MX8MQ Nitrogen8M commit, and TechNexion PICO-PI-IMX8M-DEV for the 64-bit i.MX8 line commit. For 32-bit, we get the Kontron i.MX6UL N6310 SoM commit with two baseboards, the PHYTEC phyBOARD-Segin SoM with three baseboards commit, and the Zodiac Inflight Innovations i.MX7 RMU2 board commit
In a different NXP product line, the Layerscape LS1046A "Freeway" reference board gets added commit
Amlogic SM1 (S905X3) and G12B (S922X, A311D) are updated chips from their set-top-box line and smart speaker with newer CPU and GPU cores compared to their predecessors. Both are now also supported by the Khadas VIM3 development board series commit and VIM3L commit. Another board based on SM1 that gets added is the SEI Robotics SEI610 commit
There are a handful of new x86 and Power9 server boards using Aspeed BMC chips that are gaining support for running Linux on the BMC through the OpenBMC project: Facebook Minipack commit, Wedge100 commit, Wedge40 commit, Lenovo Hr855xg2 commit, and Mihawk commit.
There are three new end-user products using 32-bit Rockchips SoCs: Mecer Xtreme Mini S6 is an Android "mini PC" box based on the low-end RK3229 chip commit, while the two AOpen products Chromebox Mini (Fievel commit) and Chromebase Mini (Tiger commit) run ChromeOS and are meant for commercial settings(digital signage, PoS, ...).
One more single-board computer based on the popular 64-bit RK3399 is added: the Leez RK3399 P710 commit
The new Aspeed AST2600 baseboard management controller is added, this is a Cortex-A7 based follow-up to the ARM11 based AST2500 commit
After many years, support for the MMP2 based OLPC XO-1.75 finally makes it into the kernel commit
The Armada 3720 based Turris Mox open source router platform commit
rockchip: remove rk3288 fennec board support commit
UNWINDER_FRAME_POINTER implementation for Clang commit
debug-ll: Add support for r7s9210 commit
psci: cpuidle: Introduce PSCI CPUidle driver commit
coresight: acpi: Static funnel support commit
coresight: cpu-debug: Add support for Qualcomm Kryo commit
perf: Add PMU event JSON files for ARM Cortex-A76 and, Neoverse N1 commit
- crypto
aes-ce: implement ciphertext stealing for CBC commit
aes-ce: implement ciphertext stealing for XTS commit
aes-ce: provide a synchronous version of ctr(aes) commit
aes-neonbs: implement ciphertext stealing for XTS commit
aes-neonbs: provide a synchronous version of ctr(aes) commit
ghash: provide a synchronous version commit
- ARM64
New ABI to allow tagged user pointers to be dereferenced by syscalls commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for 52-bit kernel VAs using some of the machinery already introduced by the 52-bit userspace VA code in 5.0 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for function error injection commit
Add support for relocating the kernel with RELR relocations commit
exynos: Enable exynos-chipid driver commit
kasan: Switch to using KASAN_SHADOW_OFFSET commit
kexec_file: add rng-seed support commit
- crypto
KVM: vgic: ITS translation cache commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
12.2. PowerPC
Initial support for running on a system with an Ultravisor, which is software that runs below the hypervisor and protects guests against some attacks by the hypervisor commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Support for building the kernel to run as a "Secure Virtual Machine", ie. as a guest capable of running on a system with an Ultravisor commit, commit, commit, commit, commit, commit, commit
Add Firmware-Assisted Dump for PowerNV platform 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
Add the PowerPC name and the PPC_ELFNOTE_CAPABILITIES type in the kernel binary ELF note. This type is a bitmap that can be used to advertise kernel capabilities to userland commit, commit
64s/radix: introduce options to disable use of the tlbie instruction commit
eeh: Add a eeh_dev_break debugfs interface commit and a debugfs interface to run an EEH check commit
Use the generic dma coherent remap allocator commit
12.3. x86
Add UMIP emulation/spoofing for 64-bit processes as well, because of Wine based gaming commit
Enable a new AVX512 CPU instruction group/feature for enumeration in /proc/cpuinfo: AVX512_VP2INTERSECT commit
Add Elkhart Lake, Tiger Lake and Airmont to Intel family commit, commit, commit
amd_nb: Add PCI device IDs for family 17h, model 70h commit
Disable Transactional Synchronization Extensions (TSX), as it may be used on certain processors as part of a speculative side channel attack commit, commit, commit, commit, commit, commit, commit, commit, commit
Mitigation for CVE-2018-12207, a microarchitectural implementation issue that could allow an unprivileged local attacker to cause system wide denial-of-service condition commit, commit, commit, commit, commit, commit, commit
Remove MPX APIs commit
Remove X86_FEATURE_MFENCE_RDTSC commit
- platform
chrome: cros_ec_chardev: Add a poll handler to receive MKBP events commit
asus-wmi: Add support for charge threshold commit
hp_accel: Add support for HP ZBook 17 G5 commit
thinkpad_acpi: Add ThinkPad PrivacyGuard commit
asus-nb-wmi: Support ALS on the Zenbook UX430UNR commit
touchscreen_dmi: Add info for the Irbis TW90 tablet commit
touchscreen_dmi: Add info for the Chuwi Surbook Mini tablet commit
touchscreen_dmi: Add info for the Trekstor Primebook C11B 2-in-1 commit
pmc_atom: Add Siemens SIMATIC IPC227E to critclk_systems DMI table commit
- crypto
- hwtracing intel_th
- perf
- KVM
vmware: Support for VMCALL/VMMCALL based hypercalls commit
12.4. S390
Add support for IBM z15 machines commit
crypto: Add SHA3 and CCA AES cipher key support in zcrypt commit, commit
crypto: Add sysfs attributes to emit AES CIPHER key blobs commit
zcrypt: CEX7S exploitation support commit
zcrypt: new sysfs attributes serialnr and mkvps commit
bpf: add JIT support for bpf line info commit and for multi-function programs commit
perf cpum_sf: Support ioctl PERF_EVENT_IOC_PERIOD commit
kasan: add kdump support commit
qdio: enable drivers to poll for Output completions commit
qdio: let drivers opt-out from Output Queue scanning commit
qeth: add BQL support for IQD devices commit
qeth: add TX NAPI support for IQD devices commit
qeth: add xmit_more support for IQD devices commit
qeth: collect accurate TX statistics commit
12.5. MIPS
Add partial 32-bit huge page support commit
BCM47XX: Add support for Netgear R6200 V1 commit
Remove unused R4300 CPU support commit
Remove unused R5432 CPU support commit
Remove unused R8000 CPU support commit
jz4740: Drop dead code commit
12.6. RISC-V
12.7. User Mode Linux
Add virtio vhost-user driver commit
Added support for Unix socket transports and bess transport commit
Add legacy tap support and rename existing vector to hybrid commit
12.8. PA-RISC
Add assembly implementations for memset, strlen, strcpy, strncpy and strcat commit
Add kprobes on ftrace support commit
12.9. IA-64
Remove the hpsim platform commit
Remove the SGI UV simulator support commit
Remove support for the SGI SN2 platform commit
12.10. Xtensa
Add support for xtensa call0 ABI in userspace commit
12.11. MicroBlaze
Use the generic DMA coherent remap allocator commit
12.12. ARC
13. Drivers
13.1. Graphics
Add the content_type support for HDCP2.2. Along with that uevent is sent for each HDCP state change triggered within kernel commit, commit, commit, commit, commit, commit
- AMDGPU
- i915
(FEATURED) Initial tigerlake platform support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
DSI properties commit
Add Missing PCI IDs commit
ehl: Add one additional PCH ID to MCC commit
Enable GTT cache by default commit
Turn on GuC/HuC auto mode commit
icl: Add missing device ID commit
Enable hotplug retry for some devices that need it commit, commit
Remove unused debugfs/i915_emon_status commit
- nouveau
- vmwgfx
Evicition priority support commit
- msm
- Etnaviv
- komeda
Enable dual-link support commit
- imx
- ingenic
- panfrost
- pl111
Support grayscale commit
- sun4i
- omap
Add 'alpha' and 'pixel blend mode' plane properties commit
- panel
Add Novatek NT39016 panel support commit
Add driver for the LG Philips LB035Q02 panel commit
Add driver for the NEC NL8048HL11 panel commit
Add driver for the Sharp LS037V7DW01 panel commit
Add driver for the Sony ACX565AKM panel commit
Add driver for the Toppoly TD028TTEC1 panel commit
Add driver for the Toppoly TD043MTEA1 panel commit
Add support for Raydium RM67191 panel driver commit
jh057n00900: Add regulator support commit
simple: Add Ortustech COM37H3M panel support commit
simple: Add Sharp LQ070Y3DG3B panel support commit
simple: Add Sharp LS020B1DD01D panel support commit
simple: Add support for Sharp LD-D5116Z01B panel commit
simple: Support TI nspire panels commit
- ast
Provide ddc symlink in connector sysfs directory commit
- bridge
ti-sn65dsi86: add debugfs commit
Associate ddc adapters with connectors: It is difficult for a user to know which of the i2c adapters is for which drm connector. This change adds a symbolic link in connector's sysfs directory commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- gm12u320:
Add Grain Media GM12U320 driver v2 commit
- ipu-v3
agp: remove the sgi-agp driver commit
fbdev: remove w90x900/nuc900 platform drivers commit
fbdev: Drop JZ4740 driver commit
13.2. Storage
libnvdimm: Introduce a new sysfs 'frozen' attribute so that ndctl can reflect the "security-operations-allowed" state independently of the lock status commit
- SCSI
hisi_sas: Add built-int self test support for phy loopback commit
hisi_sas: Snapshot AXI and RAS register at debugfs commit and snapshot HW cache of IOST and ITCT at debugfs commit
lpfc: Add MDS driver loopback diagnostics support commit
lpfc: Add NVMe sequence level error recovery support commit
lpfc: Support dynamic unbounded SGL lists on G7 hardware commit
mpt3sas: Add support for PCIe Lane margin commit
mpt3sas: Add sysfs to know supported features commit
mpt3sas: Introduce module parameter to override queue depth commit
mpt3sas: Support MEMORY MOVE Tool box command commit
qedf: Add support for 20 Gbps speed commit
smartpqi: add gigabyte controller commit
smartpqi: add module param for exposure order commit
smartpqi: add module param to hide vsep commit
smartpqi: add new pci ids commit
smartpqi: add pci ids for fiberhome controller commit
smartpqi: add sysfs entries commit
- NVM Express
Add TOS configuration for TCP and RDMA transports commit, commit, commit, commit, commit
pci: Add support for Apple 2018+ models commit
pci: Support shared tags across queues for Apple 2018 controllers commit
tcp: support simple polling commit
Add uevent variables for controller devices commit
Add Get LBA Status command opcode commit, commit, commit, commit
ide: remove the sgiioc4 driver commit
qla2xxx: remove SGI SN2 support commit
qla1280: remove SGI SN2 support commit
13.3. Drivers in the Staging area
(FEATURED) erofs: move erofs out of staging commit
erofs: support bmap commit
(FEATURED) exfat: add exFAT filesystem code to staging commit
fsl-dpaa2/ethsw: Add network interface statistics commit
greybus: move the greybus core to drivers/greybus commit, commit, commit
imx7-media-csi: add i.MX6UL support commit
imx: add csc/scaler mem2mem device commit
qlge: Move drivers/net/ethernet/qlogic/qlge/ to drivers/staging/qlge/ commit
rtl8723bs: Remove debugging information exposed via procfs commit
hantro: Add support for H264 decoding commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
hantro: Enable VP8 decoding on RK3328 commit
hantro: Support RK3399 VP8 decoding commit
hantro: Add support for MPEG-2 decoding on RK3328 commit
hantro: Add support for VP8 decoding on rk3288 commit
media/bcm2048: remove driver commit
davinci: remove vpfe driver commit
USB: Move wusbcore and UWB to staging as it is obsolete commit
fbtft: Remove fbtft_device commit
fbtft: Remove flexfb commit
13.4. Networking
ath9k: add loader for AR92XX (and older) pci(e) commit
bluetooth: bcm: Add support for loading firmware for BCM4345C5 commit
- bnxt_en
Add TPA (GRO_HW and LRO) on 57500 chips commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Implements adapter health and error recovery commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- dsa
tc-taprio offload for SJA1105 DSA commit, commit, commit, commit, commit, commit
ksz: Add Microchip KSZ8795 DSA driver commit
microchip: add KSZ9477 I2C driver commit
microchip: add ksz9567 to ksz9477 driver commit
mt7530: Add support for port 5 commit
mv88e6xxx: add PTP support for MV88E6250 family commit
mv88e6xxx: add RXNFC support commit
mv88e6xxx: add support for MV88E6220 commit
mv88e6xxx: support 2500base-x in SGMII IRQ handler commit
- can
- dpaa2-eth
- brcmfmac
enetc: Add mdio bus driver for the PCIe MDIO endpoint commit
- habanalabs
- hns3
- i40e
- ice
igb: Enable media autosense for the i350 commit
igc: Add tx_csum offload functionality commit
ionic: add the ionic driver, supporting the Pensando ethernet device commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- iwlwifi
mediatek: Add MT7628/88 SoC support commit
mediatek: Add basic PHYLINK support commit
mediatek: Re-add support SGMII commit
mlx4/en_netdev: allow offloading VXLAN over VLAN commit
- mlx5
Add CREATE_PSV/DESTROY_PSV for devx interface commit
Add XRQ and SRQ support to DEVX interface commit, commit, commit, commit
Add support for software (driver managed) flow steering commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add software backchannel and mlx5e HV VHCA stats commit, commit, commit, commit, commit, commit
Add device ID of upcoming BlueField-2 commit
Add flow counters bulk allocation and pool, to improve the performance of flow counter acquisition commit, commit
Ingress rate support for E-Switch vports commit
Add VNIC_ENV internal rq counter bits commit
Expose IP-in-IP capability commit
Add support for a new flag called need_wakeup in the AF_XDP Tx and fill rings. When this flag is set by the driver, it means that the application has to explicitly wake up the kernel Rx (for the bit in the fill ring) or kernel Tx (for bit in the Tx ring) processing by issuing a syscall. Poll() can wake up both and sendto() will wake up Tx processing only commit, commit, commit, commit, commit, commit, commit, commit
- mlx5e
Add a device internal drop counter to mlx5 ethtool stats commit
Add a new devlink health reporter for RX related errors commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add the support for LAG TX port affinity distribution. When VF LAG is enabled, VFs netdevs will round-robin the TX affinity commit, commit
Support RSS for IP-in-IP and IPv6 tunneled packets commit
Add the support for ip-in-ip TX TSO and checksum offloads commit, commit
- mlxsw
mscc: PTP Hardware Clock (PHC) support commit
- mt76
- netdevsim
- nfp
- phy
Add mdio-aspeed commit
adin: add support for Analog Devices PHYs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
adin: Add support for Analog Devices PHYs commit
adin: Implement Energy Detect Powerdown mode via phy-tunable commit
realtek: add support for integrated 2.5Gbps PHY in RTL8125 commit, commit, commit
realtek: add NBase-T PHY auto-detection commit
sfp: Add labels to hwmon sensors commit
qed*: Support for dumping the config id attributes via ethtool -w/W commit, commit
qed*: Support for dumping the GRC data of required memory regions using ethtool -w/W interfaces commit, commit
qed: Add new ethtool supported port types based on media commit
qmi_wwan: add support for Cinterion CLS8 devices commit
- r8152
- r8169
rt2800usb: Add new rt2800usb device PLANEX GW-USMicroN commit
- rtw88
sis900: add support for ethtool's EEPROM dump commit
- stmmac
xgmac: Implement MMC counters commit
Add VLAN HASH filtering support in GMAC4+ commit
Add support for SA Insertion/Replacement in GMAC4+ commit
Add support for SA Insertion/Replacement in XGMAC cores commit
Add support for VLAN Insertion Offload commit
Add support for VLAN Insertion Offload in GMAC4+ commit
ARP Offload for GMAC4+ Cores commit
Implement RSS and enable it in XGMAC core commit
Implement Safety Features in XGMAC core commit
Implement VLAN Hash Filtering in XGMAC commit
Add Flexible RX Parser support in XGMAC commit
Add Split Header support and enable it in XGMAC cores commit
Add a counter for Split Header packets commit
Add ethtool register dump for XGMAC cores commit
Implement L3/L4 Filters using TC Flower commit
dwmac4: Enable RX Jumbo frame support commit
dwxgmac: Add Flexible PPS support commit
Add HAPS support using GMAC5 commit
xgmac: Add EEE support commit
xgmac: Enable RX Jumbo frame support commit
xgmac: Implement ARP Offload commit
- qmi_wwan
wil6210: add debugfs to show PMC ring content commit
Remove ks8695 driver commit
Remove netx ethernet driver commit
Remove w90p910-ether driver commit
Remove broken dscc4 driver commit
13.5. Audio
firewire: introduce AMDTP domain commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
pcm: add support for 352.8KHz and 384KHz sample rate commit
usb-audio: Scarlett Gen 2 mixer interface commit
- hda
lx6464es: add support for LX6464ESe pci express variant commit
oxfw: support AMDTP domain commit
- Sound Open Firmware
topology: initial support for Intel ALH DAI type commit
pcm: add ALH support commit
Add OF DSP device support commit
Intel: hda: Enable jack detection commit
Intel: hda: add a parameter to disable MSI commit
Intel: initial support for Elkhart Lake commit
Intel: initial support for Tiger Lake commit
imx: Add i.MX8 HW support commit
- ASoC
Intel: boards: Add Cometlake machine driver support commit
Intel: sof-rt5682: add dmic dapm widget to support dmic PCM commit
codecs: Add uda1334 codec driver commit
cs47l15: Add codec driver for Cirrus Logic CS47L15 commit
cs47l92: Add codec driver for Cirrus Logic CS47L92 commit
fsl_sai: Add support for SAI new version commit
fsl_sai: Add support for imx7ulp/imx8mq commit
fsl_sai: Add support for imx8qm commit
jz4740: Drop lb60 board code commit
sun4i-i2s: Add support for DSP formats commit
sun4i-i2s: Support more channels commit
ti: davinci-i2s: Add S32_LE as support format commit
Remove w90x900/nuc900 platform drivers commit
- Soundwire
cadence_master: add debugfs register dump commit
cadence_master: add kernel parameter to override interrupt mask commit
intel: add debugfs register dump commit
intel_init: add kernel module parameter to filter out links commit
Add device tree support for slave devices commit
Add debugfs support commit
13.6. Tablets, touch screens, keyboards, mouses
Add support for polling to input devices commit
soc_button_array: add support for newer surface devices commit
Add support for the FlySky FS-iA6B RC receiver commit
- HID
wacom: support named keys on older devices commit
wacom: add new MobileStudio Pro 13 support commit
multitouch: add support for the Smart Tech panel commit
logitech-dj: add support of the G700(s) receiver commit
hid-logitech-dj: add the new Lightspeed receiver commit
sb0540: add support for Creative SB0540 IR receivers commit
google: add magnemite/masterball USB ids commit
Remove w90x900 keyboard driver commit
Remove w90x900 touchscreen driver commit
13.7. TV tuners, webcams, video capturers
v4l2-tpg: add support for new pixelformats commit
v4l2-common: add support for new RGB32 pixelformats commit
vivid: add support for new pixelformats commit
vicodec: add support for 4 new RGB32 pixelformats commit
Add support for Cadence CSI2TX 2.1 commit
dvb-usb: add T230 to dvbsky commit
dvbsky: add support for Mygica T230C v2 commit
ov5640: Add support for flash and lens devices commit
ov5675: Add support for OV5675 sensor commit
- Remote control
Add keymap for Amediatech X96-MAX remote commit
Add keymap for HardKernel ODROID remote commit
Add keymap for Khadas VIM/EDGE remote commit
Add keymap for Tanix TX3 mini remote commit
Add keymap for Tanix TX5 max remote commit
Add keymap for !WeTeK Play 2 remote commit
Add keymap for WeTek Hub remote commit
sunxi: Add A31 compatible commit
rcar-vin: Add support for RGB formats with alpha commit, commit, commit, commit
si2168: add support for Mygica T230C v2 commit
stm32-dcmi: add media controller support commit
stm32-dcmi: add support of several sub-devices commit
sunxi: Add A10 CSI driver commit
13.8. Universal Serial Bus
usbfs: Add ioctls for runtime power management commit
usbip: Implement SG support to vhci-hcd and stub driver commit
cdns3: Add Cadence USB3 DRD Driver commit
Add USB GPIO based connection detection driver commit
- serial
Add V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM commit and V4L2_FMT_FLAG_DYN_RESOLUTION commit
gadget: aspeed: Implement dummy hub TT requests commit
Remove ehci-w90x900 driver commit
rio500: Remove Rio 500 kernel driver commit
13.9. Serial Peripheral Interface (SPI)
dw-pci: Add support for Intel Elkhart Lake PSE SPI commit
mediatek: support large PA commit
npcm-fiu: add NPCM FIU controller driver commit
Remove w90x900 driver commit
13.10. Watchdog
Add i.MX7ULP watchdog support commit
aspeed: Add support for AST2600 commit
aspeed: add support for dual boot commit
f71808e_wdt: Add F81803 support commit
iTCO: Add support for Cannon Lake PCH iTCO commit
Remove ks8695 driver commit
Remove w90x900 driver commit
13.11. Serial
8250_pci: Add F81504A series Support commit
8250_pci: Add support for Sunix serial boards commit
8250_pci: Implement MSI(-X) support commit
lantiq: Add support for Lightning Mountain SoC commit
8250: Add support for NI-Serial PXI/PXIe+485 devices commit
Add linflexuart driver for S32V234 commit
sprd: Add loopback function support commit
tegra: Add PIO mode support commit
tegra: add internal loopback functionality commit
tegra: add support to adjust baud rate commit
Remove ks8695 driver commit
Remove the ioc3_serial driver commit
Remove the ioc4_serial driver commit
Remove the sn_console driver commit
13.12. CPU Frequency Scaling
Add sun50i nvmem based CPU scaling driver commit
Switch over some users of cpuidle notifiers to the new QoS-based frequency limits commit, commit, commit, commit, commit, commit, commit, commit, commit
imx-cpufreq-dt: Add i.MX8MN support commit
mediatek: Add support for mt8183 commit
qcom: Add support for qcs404 on nvmem driver commit
13.13. Device Voltage and Frequency Scaling
13.14. Real Time Clock (RTC)
Add Amlogic Virtual Wake RTC commit
fsl-ftm-alarm: add FTM alarm driver commit
pcf2127: add tamper detection support commit
pcf2127: add watchdog feature support commit
sun6i: Add support for H6 RTC commit
sun6i: Allow using as wakeup source from suspend commit
Remove w90x900/nuc900 driver commit
13.15. Voltage, current regulators, power capping, power supply
- supply
- regulator
13.16. Pin Controllers (pinctrl)
Ingenic: Add pinctrl driver for JZ4760 and JZ4760B commit
Ingenic: Add pinctrl driver for X1000 and X1000E commit
Ingenic: Add pinctrl driver for X1500 commit
aspeed: Add AST2600 pinmux support commit
bcm2835: Add support for BCM2711 pull-up functionality commit
madera: Add configuration for Cirrus Logic CS47L15 commit
madera: Add configuration for Cirrus Logic CS47L92 commit
qcom: Add SC7180 pinctrl driver commit
sunxi: v3s: introduce support for V3 commit
13.17. Multi Media Card (MMC)
sdhci-iproc: Add support for emmc2 of the BCM2711 commit
sdhci-of-arasan: Add Support for Intel LGM eMMC commit
sdhci-of-aspeed: Add support for the ASPEED SD controller commit
sdhci-pci: Add another Id for Intel CML commit
13.18. Memory Technology Devices (MTD)
mtdcore: add debugfs nodes for querying the flash name and id commit
rawnand: Add Macronix raw NAND controller driver commit
rawnand: remove w90x900 driver commit
rawnand: Drop obsolete JZ4740 NAND driver commit
spi-nor: Add Winbond w25q256jvm commit
spi-nor: Add support for mt35xu02g commit
spi-nor: add support for sst26wf016b memory IC commit
spi-nor: enable the debugfs for the partname and partid commit
spi-nor: intel-spi: Add support for Intel Tiger Lake SPI serial flash commit
13.19. Industrial I/O (iio)
adc: ad7606: Add support for AD7606B ADC commit
adc: ad7606: Add support for software mode for ad7616 commit
adc: stm32-adc: add analog switches supply control commit
cros_ec: Add calibscale for 3d MEMS commit
cros_ec_accel_legacy: Add support for veyron-minnie commit
imu: Add support for the ADIS16460 IMU commit
imu: st_lsm6dsx: add i3c basic support for LSM6DSO and LSM6DSR commit
imu: st_lsm6dsx: add support for accel/gyro unit of lsm9ds1 commit
imu: st_lsm6dsx: add support to ISM330DHCX commit
imu: st_lsm6dsx: add support to LSM6DS3TR-C commit
light: noa1305: Add support for NOA1305 commit
potentiometer: add a driver for Maxim 5432-5435 commit
stm32: Remove quadrature related functions from trigger driver commit
13.20. Multi Function Devices (MFD)
Add support for Merrifield Basin Cove PMIC commit
intel-lpss: Add Intel Skylake ACPI IDs commit
intel-lpss: Add Intel Tiger Lake PCI IDs commit
mt6323: Add MT6323 RTC and PWRC commit
Drop obsolete JZ4740 driver commit
13.21. Pulse-Width Modulation (PWM)
13.22. Inter-Integrated Circuit (I2C + I3C)
Add i2c-icy for I2C on m68k/Amiga commit
axxia: support slave mode commit
designware-pci: Add support for Elkhart Lake PSE I2C commit
i2c-eeprom_slave: Add support for more eeprom models commit
icy: Add LTC2990 present on 2019 board revision commit
imx: ACPI support for NXP i2c controller commit
piix4: Add ACPI support commit
13.23. Hardware monitoring (hwmon)
Add Synaptics AS370 PVT sensor driver commit
ibm-cffps: Add support for version 2 of the PSU commit
k10temp: Add support for AMD family 17h, model 70h CPUs commit
lm75: add support for PCT2075 commit
nct6775: Integrate new model nct6116 commit
nct7904: Add extra sysfs support for fan, voltage and temperature commit
pmbus: Add Inspur Power System power supply driver commit
shtc1: add support for the SHTC3 sensor commit
Drop obsolete JZ4740 driver commit
Remove ads1015 driver commit
13.24. General Purpose I/O (gpio)
aspeed: Add SGPIO driver commit
aspeed: Add in ast2600 details to Aspeed driver commit
Add support for GPIOs over Moxtet bus commit
madera: Add support for Cirrus Logic CS47L15 commit and Cirrus Logic CS47L92 commit
Remove ks8695 driver commit
13.25. LEDs
13.26. DMA engines
tegra-apb: Support per-burst residue granularity commit
fsl-edma: add i.mx7ulp edma2 version support commit
Drop JZ4740 driver commit
13.27. Cryptography hardware acceleration
- cavium/nitrox
ccp: Add module parameters to control CCP activation commit, commit, commit, commit
- ccree
- inside-secure
Add support for AES-GCM, AES-CFB, AES-OFB and AES-CCM commit, commit, commit, commit
inside-secure: Add AES-XTS cipher support commit, commit, commit,
inside-secure - add support for PCI based FPGA development board commit
inside-secure - add support for using the EIP197 without vendor firmware commit
inside-secure - Add supp. for non-Marvell HW commit, commit, commit, commit, commit, commit
inside-secure: add more AEAD ciphersuites commit, commit, commit
hisilicon: Add HiSilicon QM and ZIP controller driver commit, commit, commit, commit, commit
mediatek - add support to OFB/CFB mode commit
13.28. PCI
dwc: al: Add Amazon Annapurna Labs PCIe controller driver commit
mediatek: Add controller support for MT7629 commit
tegra: Add Tegra194 PCIe support commit
tegra: Add support to configure sideband pins commit
tegra: Add support to enable slot regulators commit
hotplug: remove the sgi_hotplug driver commit
13.29. Non-Transparent Bridge (NTB)
ntb_hw_amd: Add a new NTB PCI device ID commit
13.30. Thunderbolt
13.31. Clock
Add clk_min/max_rate entries in debugfs commit
Add support for AST2600 SoC commit
clk-cdce925: Add regulator support commit
imx: Add support for i.MX8MN clock driver commit
ingenic: Add driver for the TCU clocks commit
mediatek: Add MT6779 clock support commit
meson: g12a: add support for DVFS commit
meson: meson-sm1: add support for DVFS commit, commit, commit
meson: axg-audio: add g12a reset support commit
mvebu: Add CPU clock support for Armada 7K/8K commit, commit, commit, commit
mvebu: AP807 clocks support commit, commit, commit, commit, commit, commit
qcom: clk-alpha-pll: Add support for Trion PLLs commit
qcom: gcc: Add global clock controller driver for SM8150 commit
rockchip: Add clock controller for the rk3308 commit
sunxi-ng: v3s: add Allwinner V3 support commit
Add a new timer-ingenic driver commit
13.32. PHY ("physical layer" framework)
lantiq: vrx200-pcie: add a driver for the Lantiq VRX200 PCIe PHY commit
mvebu-cp110-comphy: Enhance CP110 COMPHY support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
tegra: Add PCIe PIPE2UPHY support commit
13.33. EDAC (Error Detection And Correction)
mellanox: Add ECC support for BlueField DDR4 commit
amd64: Add PCI device IDs for family 17h, model 70h commit
amd64: Support asymmetric dual-rank DIMMs commit
Add driver for the Marvell Armada XP SDRAM and L2 cache ECC commit
13.34. Various
NFC: nxp-nci: Add NXP1001 to the ACPI ID table commit
PTP: add support for one-shot output commit
PTP: introduce new versions of IOCTLs commit
backlight: Expose brightness curve type through sysfs commit
bus: Add support for Moxtet bus commit
bus: moxtet: Add sysfs and debugfs documentation commit
char/mspec: remove SGI SN2 support commit
char: remove the SGI snsc driver commit
char: remove the SGI tiocx/mbcs driver commit
Remove the SGI SN2 IOC3 base support commit
Remove the SGI SN2 IOC4 base support commit
eeprom: Deprecate the legacy eeprom driver commit
fdt: add support for rng-seed commit
firmware: Add Turris Mox rWTM firmware driver commit
firmware: add Intel Stratix10 remote system update driver commit
firmware: arm_scmi: Add RESET protocol in SCMI v2.0 commit
firmware: arm_scmi: Add discovery of SCMI v2.0 performance fastchannels commit
firmware: arm_scmi: Make use SCMI v2.0 fastchannel for performance protocol commit
firmware: imx: Add DSP IPC protocol interface commit
fpga: altera-cvp: Add Stratix10 (V2) Support commit
fpga: dfl: afu: add STP (SignalTap) support commit
fpga: dfl: afu: add error reporting support commit
fpga: dfl: afu: add userclock sysfs interfaces commit
fpga: dfl: fme: add DFL_FPGA_FME_PORT_RELEASE/ASSIGN ioctl support commit
fpga: dfl: fme: add capability sysfs interfaces commit
fpga: dfl: fme: add global error reporting support commit
fpga: dfl: pci: enable SRIOV support commit
interconnect: Add support for path tags commit
interconnect: qcom: Add QCS404 interconnect provider driver commit
interconnect: qcom: Add interconnect RPM over SMD driver commit
interconnect: qcom: Add tagging and wake/sleep support for sdm845 commit
irqchip: Add irq-ingenic-tcu driver commit
mailbox: qcom: Add support for IPQ8074 APCS commit
mailbox: qcom: Add support for Qualcomm SM8150 and SC7180 SoCs commit
mei: me: add comet point (lake) LP device ids commit
memory: mtk-smi: Add gals support commit
misc/sgi-xp: remove SGI SN2 support commit
misc: Remove spear13xx pcie gadget driver commit
misc: add the full Soft Decision Forward Error Correction (SD-FEC) driver implementation, driver DT binding and driver documentation commit, commit, commit, commit, commit, commit, commit
parport: parport_serial: Add support for Sunix Multi I/O boards commit
perf/imx_ddr: Add support for AXI ID filtering commit
regulator: uniphier: Add Pro5 USB3 VBUS support commit
remoteproc: Add a sysfs interface for name commit
reset: Add support for resets provided by SCMI commit
soc: amlogic: Add support for Everything-Else power domains controller commit
soc: imx-scu: Add SoC UID(unique identifier) support commit
soc: imx8: Add i.MX8MM UID(unique identifier) support commit
soc: imx8: Add i.MX8MQ UID(unique identifier) support commit
soc: qcom: Add socinfo driver commit
soc: qcom: socinfo: Expose custom attributes commit
soc: qcom: socinfo: Expose image information commit
soc: samsung: Add exynos chipid driver support commit
tpm/tpm_ftpm_tee: A driver for firmware TPM running inside TEE commit
tty: n_gsm: add ioctl to map serial device to mux'ed tty commit
w1: add 1-wire master driver for IP block found in SGI ASICs commit
w1: add DS2501, DS2502, DS2505 EPROM device driver commit
14. List of Pull Requests