KernelNewbies
  • Comments
  • Immutable Page
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
  • Login

Kernel Hacking

  • Frontpage

  • Kernel Hacking

  • Kernel Documentation

  • Kernel Glossary

  • FAQ

  • Found a bug?

  • Kernel Changelog

  • Upstream Merge Guide

Projects

  • KernelJanitors

  • KernelMentors

  • KernelProjects

Community

  • Why a community?

  • Regional Kernelnewbies

  • Personal Pages

  • Upcoming Events

References

  • Mailing Lists

  • Related Sites

  • Programming Links

Wiki

  • Recent Changes

  • Site Editors

  • Side Bar

  • Tips for Editors

  • Hosted by WikiWall

Navigation

  • RecentChanges
  • FindPage
  • HelpContents
Revision 373 as of 2019-07-08 07:18:33
KernelNewbies:
  • LinuxChanges

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.2 was released on 7 July 2019.

Summary: This release includes Sound Open Firmware, a project that brings open source firmware to DSP audio devices; open firmware for many Intel products is also included. This release also improves the Pressure Stall Information resource monitoring to make it usable by Android; the mount API has been redesigned with new syscalls; the BFQ I/O scheduler has gained some performance improvements; a new CLONE_PIDFD flag lets clone(2) return pidfs usable by pidfd_send_signal(2); Ext4 has gained support for case-insensitive name lookups; there is also a new device mapper target that simulates a device that has failing sectors and/or read failures; open source drivers for the ARM Mali t4xx and newer 6xx/7xx have been added. As always, there are fixes for the latest CPU bug (MDS) and many other new drivers and improvements.

Contents

  1. Coolest features
    1. Inclusion of Sound Open Firmware
    2. Improved Presure Stall Information for better resource monitoring
    3. New mount API
    4. Significant performance improvements in the BFQ I/O scheduler
    5. New GPU drivers for ARM Mali devices
    6. More CPU bug protection, and "mitigations" boot option
    7. Let clone(2) return pidfs
    8. Optional support for case-insensitive names in ext4
    9. Add freezer controller for cgroups v2
    10. Add device mapper dust target
  2. Core (various)
  3. File systems
  4. Memory management
  5. Block layer
  6. Tracing, perf and BPF
  7. Virtualization
  8. Cryptography
  9. Security
  10. Networking
  11. Architectures
    1. ARM
    2. ARM64
    3. X86
    4. CSKY
    5. MIPS
    6. PARISC
    7. POWERPC
    8. RISCV
    9. S390
    10. XTENSA
    11. ARC
  12. Drivers
    1. Graphics
    2. Storage
    3. Drivers in the Staging area
    4. Networking
    5. Audio
    6. Tablets, touch screens, keyboards, mouses
    7. TV tuners, webcams, video capturers
    8. Universal Serial Bus
    9. Serial Peripheral Interface (SPI)
    10. Watchdog
    11. Serial
    12. ACPI, EFI, cpufreq, thermal, Power Management
    13. Real Time Clock (RTC)
    14. Voltage, current regulators, power capping, power supply
    15. Pin Controllers (pinctrl)
    16. Multi Media Card (MMC)
    17. Memory Technology Devices (MTD)
    18. Industrial I/O (iio)
    19. Multi Function Devices (MFD)
    20. Pulse-Width Modulation (PWM)
    21. Inter-Integrated Circuit (I2C)
    22. Hardware monitoring (hwmon)
    23. General Purpose I/O (gpio)
    24. Leds
    25. DMA engines
    26. Cryptography hardware acceleration
    27. PCI
    28. Thunderbolt
    29. Clock
    30. PHY ("physical layer" framework)
    31. EDAC (Error Detection And Correction)
    32. Various
  13. List of feature merges
  14. Other news sites

1. Coolest features

1.1. Inclusion of Sound Open Firmware

While many audio DSP devices have open source drivers, their firmware has remained closed and shipped as binary files. As a result, firmware issues have often been difficult to address. The Sound Open Firmware -SOF- project, backed by Intel and Google, has been created to improve this situation by providing a open source platform to create open source firmware for audio DSPs. Not only SOF will allow users to have open source firmware, it will allow them to personalize their own firmware, or even use the power of the DSP processors in their sound cards in imaginative ways. This release includes the SOF core, plus open source firmware from Intel for many of their mainstream products: Baytrail, CherryTrail, Broadwell, ApolloLake, GeminiLake, CannonLake and IceLake

Recommended LWN article: The Sound Open Firmware project launches

Project site: https://www.sofproject.org

Instructions in the ALSA website: https://www.alsa-project.org/main/index.php/Firmware

1.2. Improved Presure Stall Information for better resource monitoring

Pressure stall information were added to Linux 4.20 as a way to quantify resource pressure in the system in a better way than the traditional load average. PSI aggregates and reports the overall wallclock time in which the tasks in a system (or cgroup) wait for cpu, io or memory.

This release lets users to configure sensitive thresholds and use poll() and friends to be notified when a certain pressure thresold is breached within a user-defined time window. With this mechanism, Android can monitor for, and ward off, mounting memory shortages before they cause problems for the user. For example, using memory stall, monitors in userspace like the low memory killer daemon (lmkd) can detect mounting pressure and kill less important processes before device becomes visibly sluggish. In memory stress testing psi memory monitors produce roughly 10x less false positives compared to vmpressure.

Recommended LWN article: Pressure stall monitors

1.3. New mount API

The mount(2) system call is in charge of mounting file systems. It does its job well, but as new mount functionality was added over the years, it had to be implemented on top of the existing interface, which was not designed for complex scenarios and has thus accumulated a lot of baggage (see this email for details). The current mount(2) interface is actually six or seven different interfaces rolled into one, and weird combinations of flags make it do different things beyond the original specification of the system call. It's not just aesthethics; it's not easy for applications and users to understand the errors returned, it is not geared for the specification of multiple sources such as overlayfs need, you can't mount a file system into another mount namespace, and it doesn't allow for other funcionality that have to be implemented with hacks such as shiftfs.

Linux developers decided to redesign the entire mount API in this release, which has resulted in the addition of six new syscalls: fsopen(2), fsconfig(2), fsmount(2), move_mount(2), fspick(2), and open_tree(2). These syscalls allow developers write code such as this:

        fd = fsopen("nfs");
        fsconfig(fd, FSCONFIG_SET_STRING, "option", "val", 0);
        fsconfig(fd, FSCONFIG_CMD_CREATE, NULL, NULL, 0);
        mfd = fsmount(fd, MS_NODEV);
        move_mount(mfd, "", AT_FDCWD, "/mnt", MOVE_MOUNT_F_EMPTY_PATH);

or reconfigure a superblock:

        fd = fspick(AT_FDCWD, "/nfs/foo", FSPICK_NO_AUTOMOUNT);
        fsconfig(fd, FSCONFIG_SET_FLAG, "noac", NULL, 0);
        fsconfig(fd, FSCONFIG_CMD_RECONFIGURE, NULL, NULL, 0);

Recommended LWN article: Six (or seven) new system calls for filesystem mounting

1.4. Significant performance improvements in the BFQ I/O scheduler

Some performance tweaks to the BFQ I/O scheduler have been done, which have improved the application start-up times under load by up to 80%, drastically increased the performance and decreased the execution time. For more details, see the benchmarks or the following article:

Recommended LWN article: Improving the performance of the BFQ I/O scheduler

1.5. New GPU drivers for ARM Mali devices

This release has two exciting community drivers for ARM Mali accelerators. Since ARM has never been open source friendly on the GPU side of the house, the community has had to create open source drivers for the Mali GPUs. Lima covers the older t4xx and panfrost the newer 6xx/7xx series. Well done to all involved and hopefully this will help ARM

1.6. More CPU bug protection, and "mitigations" boot option

This release adds bug infrastructure to deal with the Microarchitectural Data Sampling (MDS) hardware vulnerability, which allows unprivileged speculative access to data which is available in various CPU internal buffers. This new set of misfeatures has the following variants: Microarchitectural Store Buffer Data Sampling (MSBDS, CVE-2018-12126), Microarchitectural Fill Buffer Data Sampling (MFBDS, CVE-2018-12130), Microarchitectural Load Port Data Sampling (MLPDS, CVE-2018-12127), Microarchitectural Data Sampling Uncacheable Memory (MDSUM, CVE-2019-11091). For more details see the documentation and admin guide

Also, in order to help users to deal with the ever increasing amount of CPU bugs across different architectures, the kernel boot option mitigations= has been added. It's a set of curated, arch-independent options (for now x86, PowerPC and s390), to make more easy to enable/disable protections regardless of what system they are running

1.7. Let clone(2) return pidfs

This release adds the CLONE_PIDFD flag to clone(2). This lets users to get pids at process creation time that are usable with the pidfd_send_signal(2) syscall. Due to the design of Unix, sending signals to processes or gathering /proc information is not always safe due to the possibility of PID reuse; pidfds let Linux avoid this problem, and this new clone(2) flag makes even easier to get pidfs, thus providing an easy way to signal and process PID metadata safely.

1.8. Optional support for case-insensitive names in ext4

This release implements the actual support for case-insensitive file name lookups in ext4, based on the feature bit and the encoding stored in the superblock. A filesystem that has the casefold feature set is able to configure directories with chattr +F (EXT4_CASEFOLD_FL) attribute, enabling lookups to succeed in that directory in a case-insensitive fashion, i.e: match a directory entry even if the name used by userspace is not a byte per byte match with the disk name, but is an equivalent case-insensitive version of the Unicode string.

The feature is configured as an inode attribute applied to directories and inherited by its children. This attribute can only be enabled on empty directories for filesystems that support the encoding feature, thus preventing collision of file names that only differ by case.

Recommended LWN article: Case-insensitive ext4

1.9. Add freezer controller for cgroups v2

Cgroup v1 implements the freezer controller, which provides an ability to stop the workload in a cgroup and temporarily free up some resources (cpu, io, network bandwidth and, potentially, memory) for some other tasks. Cgroup v2 lacked this functionality, until this release.

Unlike with the cgroup v1 version, there is no separate controller, which has to be turned on, the functionality is always available and is represented by cgroup.freeze and cgroup.events cgroup control files. Writing "1" to the cgroup.freeze file will cause freezing of the cgroup and all descendant cgroups and all their belonging processes will be stopped and will not run until the cgroup will be explicitly unfrozen. Freezing may take some time; when this action is completed, the "frozen" value in the cgroup.events control file will be updated to "1". There are other differences required to conform the cgroup v2 interface design principles.

1.10. Add device mapper dust target

This release adds a Device Mapper 'dust' target. This target simulates a device that has failing sectors and/or read failures, and adds the ability to enable the emulation of the read failures at an arbitrary time. It is, thus, aimed at storage developers and sysadmins that want to test their storage stack. At a given time, the user can send a message to the target to start failing read requests on specific blocks. When the failure behavior is enabled, reads of blocks configured "bad" will fail with EIO.

2. Core (various)

  • (FEATURED) Add mitigations= boot option. It's a set of curated, arch-independent options (for now x86, PowerPC and s390), to make more easy to enable/disable protections regardless of what system they are running commit, commit, commit, commit, commit

  • (FEATURED) clone(2): add CLONE_PIDFD. This lets users of clone(2) to get pids at process creation time that are usable with the pidfd_send_signal(2) syscall, thus providing an easy way to access without races to process metadata through /proc/<pid> commit, commit, commit, commit, commit

  • io_uring
    • Add support for eventfd notifications commit

    • Add support for sync_file_range(2) and drains: Any command can be flagged with IOSQE_IO_DRAIN, which will insert a sequence point in the queue and will wait for previous commands to complete before this one is issued commit, commit, commit

  • (FEATURED) pressure stall monitors: Presure stall monitors were added in Linux 4.20 as a way to quantify resource pressure in the system. This release lets users to configure sensitive latency thresholds and use poll() and friends to be notified when these thresolds are breached. With these patches applied, Android can monitor for, and ward off, mounting memory shortages before they cause problems for the user. For example, using memory stall monitors in userspace low memory killer daemon (lmkd) we can detect mounting pressure and kill less important processes before device becomes visibly sluggish commit, commit, commit, commit, commit, commit, commit

  • (FEATURED) Add new mount syscalls commit, commit, commit, commit, commit, commit, commit, commit, commit, commit,

  • (FEATURED) cgroups: implement freezer for cgroup v2. It provides similar functionality as v1 freezer, but the interface conforms to the cgroup v2 interface design principles, and it provides a better user experience: tasks can be killed, ptrace works, there is no separate controller, which has to be enabled, etc commit, commit, commit, commit, commit, commit, commit, commit, commit

  • cgroup: expose pressure stall information metrics on root cgroup commit

  • eventfd: To provide the way to find endpoints of an eventfd file, this patch adds "eventfd-id" field to /proc/PID/fdinfo of eventfd as identifier commit

  • gcov: clang support commit

  • kbuild: allow Kbuild to start from any directory commit

  • Cpu/hotplug: Create SMT sysfs interface for all arches, so user space has a consistent way to detect whether SMT is enabled commit

  • locking
    • rwsem unification and simpler micro-optimizations to prepare for more intrusive (and more lucrative) scalability improvements in the future commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • static_key: improve rate limited labels commit, commit, commit

    • rcu: Allow rcu_nocbs=all to specify all CPUs commit

    • rcu: Avoid unnecessary softirq when system is idle commit

    • lockref: Limit number of cmpxchg loop retries to avoid excessive looping commit

  • task scheduler: Allow CPU0 to be nohz full commit, commit, commit, commit, commit

  • tty: Add NULL TTY driver that discards all writes. It can be chosen on the command line in the standard way, i.e. with console=ttynull commit

  • objtool: Teach objtool to validate the UACCESS (SMAP, PAN) rules merge

  • GDB scripts: Add a timer list command commit, add hlist utilities commit, add kernel config dumping command commit, add rb tree iterating utilities commit, initial clk support: lx-clk-summary commit

  • IPC/mqueue: optimize msg_get() commit

  • ktest: introduce grub2bls REBOOT_TYPE option commit

  • Allow all arches to enable CONFIG_OPTIMIZE_INLINING commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • All-arch unification of internal TLB flushing APIs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Optionally allow to provide kernel headers with the kernel as an archive through proc (/proc/kheaders.tar.xz file) commit

  • Introduce the Counter subsystem for supporting counter devices. In the context of the Generic Counter interface, a counter is defined as a device that reports one or more "counts" based on the state changes of one or more "signals" as evaluated by a defined "count function" commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • panic: add a panic_print option to replay the dmesg in buffer during a panic, some of which they may have never seen due to the loglevel setting commit

3. File systems

  • BTRFS
    • qgroups: last speed up in the series to address the slowness, there should be no overhead comparing balance with and without qgroups commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Improve performance on fsync of files with multiple hardlinks commit

    • btrfs send tries harder to find ranges to clone commit

    • Better checks to catch RAM corruption on data before it gets written to disk commit, commit, commit, commit, commit, commit, commit, commit, commit

    • tree-checker: Allow error injection for tree-checker commit

  • XFS
    • Introduce a new online health reporting infrastructure and ioctl for userspace to query a filesystem's metadata health status after online fsck checks the filesystem commit, commit, commit, commit, commit, commit, commit, commit

    • Enhances the online scrub and repair code to report their findings to the health tracking subsystem commit, commit, commit, commit, commit

    • Add online scrub for superblock counters. The online metadata checking code is feature complete with the addition of checks for the global fs counters, though it'll remain EXPERIMENTAL for now commit, commit, commit, commit, commit

  • EXT4
    • (FEATURED) Add as a feature case-insensitive directories (the casefold feature) using Unicode 12.1 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • CEPH
    • Support for exporting snapshots through NFS commit

    • Dump granular cap info in "caps" debugfs file commit

  • CIFS
    • Add fiemap support commit

    • Improve zero-range support commit

    • Add support to pass a blob to the server in FSCTL passthrough commit

    • Negotiate and save preferred compression algorithms commit

    • Add support for SEEK_DATA and SEEK_HOLE commit

  • FUSE
    • Allow filesystems to have precise control over data cache commit

    • Add ioctl flag for x32 compat ioctl commit

  • NFS
    • Add a mount option softerr to allow clients to see ETIMEDOUT errors commit

    • Allow containers to set supported nfs versions commit

  • ORANGEFS
    • Implement xattr cache commit

  • OVERLAYFS
    • Support stacked SEEK_HOLE/SEEK_DATA commit

    • Ssupport the FS_IOC_FS[SG]ETXATTR ioctls commit

  • UBIFS
    • Limit number of xattrs per inode commit

  • AFS
    • Implement sillyrename for unlink and rename commit

    • Provide mount-time configurable byte-range file locking emulation commit

    • Implement getting/setting raw AFS and YFS ACLs as xattrs commit, commit, commit, commit

4. Memory management

  • Heterogeneous memory node attributes: Platforms may provide multiple types of cpu attached system memory. The memory ranges for each type may have different characteristics that applications may wish to know about when considering what node they want their memory allocated from. This release provides the attributes from such systems that are useful for applications to know about, and readily usable with existing tools and libraries commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Make mincore(2) more conservative, to avoid exposing information about pagecache / memory mapping state, even about memory not strictly belonging to the process executing the syscall, opening possibilities for sidechannel attacks commit

  • Improve vmap allocation commit, commit, commit

  • userfaultfd: Add a global sysctl vm.unprivileged_userfaultfd to control whether userfaultfd is allowed by unprivileged users commit

  • Randomize free memory. Randomization of the page allocator improves the average utilization of a direct-mapped memory-side-cache commit, commit, commit

  • Add FOLL_LONGTERM to GUP fast, which lets it be used in situations such as DAX commit, commit, commit, commit, commit, commit, commit

  • slab: remove /proc/slab_allocators commit

  • z3fold: support page migration commit

5. Block layer

  • Improve DM snapshot target's scalability by using finer grained locking commit, commit, commit, commit, commit, commit

  • Add ability for DM integrity to use a bitmap mode, that tracks regions where data and metadata are out of sync, instead of using a journal, for improved performance commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • (FEATURED) Add testing-only DM dust target which simulates a device that has failing sectors and/or read failures commit

  • (FEATURED) BFQ: performance improvements commit, commit, commit, commit, commit, commit

  • block: remove CONFIG_LBDAF commit

6. Tracing, perf and BPF

  • perf
    • record: Allow compression of perf ring buffer with option -z, resulting in ~3-5x perf.data file size reduction on variety of tested workloads commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • stat: Add a 'percore' event qualifier, e.g.: -e cpu/event=0,umask=0x3,percore=1/ that sums up the event counts for both hardware threads in a core. It is possible to do that now with --per-core, but it's often useful to do this together with other metrics that are collected per hardware thread commit, commit, commit

    • perf list: Output tool events commit

    • record: Implement --mmap-flush=<number> option to specify the minimal number of bytes that is extracted from mmaped kernel buffer to store into a trace. The default option value is 1 byte what means every time trace writing thread finds some new data in the mmaped buffer the data is extracted, possibly compressed and written to a trace commit

    • scripts: exported-sql-viewer.py: Add context menu commit, add copy to clipboard commit

    • perf stat: Implement duration_time as a proper event commit

    • perf trace: Add 'string' event alias to select syscalls with string args commit

  • BPF
    • kbuild: add ability to generate BTF type info for vmlinux and kernel modules. The intent is to record compact type information of all types used inside kernel, in order to enables BPF's compile-once-run-everywhere approach, in which tracing programs that are inspecting kernel's internal data can be compiled on a system running some kernel version, but would be possible to run on other kernel versions (and configurations) without recompilation, even if the layout of structs changed and/or some of the fields were added, removed, or renamed commit

    • Add global data support for BPF. The kernel has been extended to add proper infrastructure that allows for full .bss/.data/.rodata sections on BPF loader commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Add a new program type BPF_PROG_TYPE_CGROUP_SYSCTL and attach type BPF_CGROUP_SYSCTL. BPF_CGROUP_SYSCTL hook is placed before calling to sysctl's proc_handler so that accesses (read/write) to sysctl can be controlled for specific cgroup and either allowed or denied, or traced commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • New set of arguments to bpf_attr for BPF_PROG_TEST_RUN: ctx_in/ctx_size_in - input context and ctx_out/ctx_size_out - output context commit, commit, commit,

    • Add BPF sk local storage. It attempts to make bpf's network programming more intuitive to do (together with memory and performance benefit) commit, commit, commit, commit, commit, commit, commit

    • Support variable offset stack access from helpers commit, commit

    • BPF tc tunneling: it allows for dynamic tunneling, choosing the tunnel destination and features on-demand commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Allow checking SYN cookies from XDP and tc cls act commit, commit, commit, commit, commit, commit, commit, commit

    • Extend bpf_skb_adjust_room growth to mark inner MAC header so that L2 encapsulation can be used for tc tunnels commit, commit, commit, commit

    • Improve verifier scalability commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Add an opt-in interface for tracepoints to expose a writable context to BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE programs that are attached, while supporting read-only access from existing BPF_PROG_TYPE_RAW_TRACEPOINT programs, as well as from non-BPF-based tracepoints commit, commit, commit, commit, commit

    • Make bpf_skb_ecn_set_ce callable from BPF_PROG_TYPE_SCHED_ACT commit

    • Support BPF_PROG_QUERY for BPF_FLOW_DISSECTOR attach_type commit, commit

    • bpftool: Support sysctl hook commit

    • Add btf dumping to bpftool commit, commit, commit, commit

  • tracing
    • Introduce a new ftrace file, tracing/error_log, for ftrace commands to log errors. This is useful for allowing more complex commands such as hist trigger and kprobe_event commands to point out specifically where something may have gone wrong without forcing them to resort to more ad hoc methods such as tacking error messages onto existing output files commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • tracing: Kernel access to Ftrace instances commit

7. Virtualization

  • virtio
    • A few prime improvements commit, commit

    • Add virtio-gpu-features debugfs file commit

  • KVM
    • Introduce KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2 commit

    • polling: add architecture backend to disable polling commit

  • hv_sock: Add support for delayed close commit

8. Cryptography

  • ecrdsa: add EC-RDSA (GOST 34.10) algorithm commit

  • simd: support wrapping AEAD algorithms commit

  • testmgr: add panic_on_fail module parameter commit

9. Security

  • security: Create "kernel hardening" config area commit

  • ntp: Audit NTP parameters adjustment commit

  • tomoyo: Add a kernel config option for fuzzing testing commit

  • tls: Add support of AES128-CCM based ciphers commit

  • Implement Clang's stack initialization commit

10. Networking

  • TCP
    • Undo congestion window on spurious SYN or SYNACK timeout commit, commit, commit, commit, commit, commit, commit, commit

    • Add rx/tx cache to reduce lock contention commit, commit, commit

  • IPv4: Enable support for IPv6 gateway with IPv4 routes commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • IPv6
    • Add icmp_echo_ignore_anycast ioctl for ICMPv6. It makes the kernel ignore all ICMP ECHO requests destined to anycast address commit

    • Add icmp_echo_ignore_multicast ioctl for ICMPv6. It makes the kernel ignore all ICMP ECHO requests destined to multicast address commit

    • Add rate limit mask for ICMPv6 messages commit

  • batman-adv
    • Add multicast-to-unicast support for multiple targets commit

    • Make sysfs support optional commit

  • Support binding vlan dev link state to vlan member bridge ports commit, commit, commit, commit, commit

  • Switch IP ID generator to siphash commit

  • ethtool: add support for Fast Link Down as new PHY tunable commit

  • packet scheduler
    • Improving xmit performances of lockless qdisc in the uncontended scenario commit, commit

    • flow_offload: support CVLAN match commit

    • act_police offload support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Foo over UDP: Support binding FoU socket commit

  • High-availability Seamless Redundancy
    • Add debugfs support for display node list commit

    • Add tx stats for master interface commit

  • ipvs: allow tunneling with gue encapsulation commit

  • WiFi

    • Extended key ID support commit, commit, commit, commit

    • Mesh link probing support commit, commit, commit

    • OWE userspace processing support commit

    • Add support for mesh airtime link metric attribute NL80211_STA_INFO_AIRTIME_LINK_METRIC commit

    • debugfs option to force TX status frames commit

    • Add support to set tx power for a station associated commit, commit

  • Netfilter
    • Adds support for the nat chain type in the inet family commit, commit, commit, commit, commit, commit

    • nft_osf: Add version option support commit

  • netlink strict validation commit, commit, commit, commit, commit

  • openvswitch: Add timeout support to ct action commit

  • socket: implement 64-bit timestamps commit

  • taprio: adds support for changing the running schedules during "runtime" commit, commit, commit, commit

  • tipc
    • Improve TIPC unicast link throughput commit, commit, commit

    • Support broadcast/replicast configurable for bc-link commit, commit, commit

    • Introduce new socket option TIPC_SOCK_RECVQ_USED. It returns the number of buffers in receive socket buffer which is not so helpful for user space applications commit

  • tun: Add ioctl TUNGETDEVNETNS cmd to allow obtaining real net ns of tun device commit

  • vlan: disable SIOCSHWTSTAMP in container commit

  • macvlan: disable SIOCSHWTSTAMP in container commit

  • Support ESP offload in combination with gso partial commit

  • RDMA
    • Add netlink command to change net namespace of rdma device commit, commit, commit

    • Disable device sharing in multiple net namespace commit, commit, commit, commit, commit

    • Expose device link type to rdma_rename utility commit

  • netdevsim
    • Change debugfs tree topology commit

    • Implement ndo_get_devlink_port commit

11. Architectures

11.1. ARM

  • New SoCs

    • Intel Agilex (SoCFPGA) commit

    • NXP i.MX8MM (Quad Cortex-A53 with media/graphics focus) commit

  • New boards
    • Allwinner
      • RerVision H3-DVK (H3) commit

      • Oceanic 5205 5inMFD (H6) commit

      • Beelink GS2 (H6) commit

      • Orange Pi 3 (H6) commit

    • Rockchip
      • Orange Pi RK3399 commit

      • Nanopi NEO4 commit

      • Veyron-Mighty Chromebook variant commit

    • Amlogic: SEI Robotics SEI510 commit

    • ST Micro
      • stm32mp157a discovery1 commit

      • stm32mp157c discovery2 commit

    • NXP
      • Eckelmann ci4x10 (i.MX6DL) commit

      • i.MX8MM EVK (i.MX8MM) commit

      • ZII i.MX7 RPU2 (i.MX7) commit

      • ZII SPB4 (VF610) commit

      • Zii Ultra (i.MX8M) commit

      • TQ TQMa7S (i.MX7Solo) commit, commit

      • TQ TQMa7D (i.MX7Dual) commit

      • Kobo Aura (i.MX50) commit

      • Menlosystems M53 (i.MX53)j commit

    • Nvidia: Jetson Nano (Tegra T210) commit

    • ixp4xx: Add device tree boot support commit

    • IXP4xx-based Linksys NSLU2 and Gateworks GW2358 which encompass the Gateworks Cambria family commit

  • coresight: Support static funnel commit

  • Add PCI ATS support to Arm SMMUv3 commit, commit, commit, commit, commit, commit, commit, commit

  • perf: add a driver for the SMMUv3 PMU into the perf framework commit, commit, commit

11.2. ARM64

  • Introduces a DC CVADP instruction which cleans the data cache to the point of deep persistence commit, commit, commit, commit, commit, commit

  • Expose SVE2 features for userspace commit

  • Add system vulnerability sysfs entries commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • KVM
    • Implements support for allowing KVM guests to use the Arm Scalable Vector Extension (SVE) 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 ARMv8.3 pointer authentication for kvm guest commit, commit, commit, commit

  • perf: support for perf event modifiers :G and :H which allows for filtering of PMU events between host and guests when used with KVM commit, commit, commit, commit, commit, commit, commit, commit

  • perf vendor events: Add Cortex-A57 and Cortex-A72 events commit

11.3. X86

  • Introduce x86-64 IRQ/exception/debug stack guard pages to detect stack overflows immediately and deterministically 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

  • (FEATURED) Add bug infrastructure to deal with the Microarchitectural Data Sampling (MDS) hardware vulnerability, which allows unprivileged speculative access to data which is available in various CPU internal buffers. This new set of misfeatures has the following variants: Microarchitectural Store Buffer Data Sampling (MSBDS, CVE-2018-12126), Microarchitectural Fill Buffer Data Sampling (MFBDS, CVE-2018-12130), Microarchitectural Load Port Data Sampling (MLPDS, CVE-2018-12127), Microarchitectural Data Sampling Uncacheable Memory (MDSUM, CVE-2019-11091) 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

  • Optimize when to load FPU registers: only when returning to userspace and not on every context switch (while the task remains in the kernel). By this optimisation we can avoid loading the registers if the task stays in kernel and does not return to userland, and make kernel_fpu_begin() cheaper 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

  • Sysfs interface to set the Performance and Energy Bias Hint (EPB) commit, commit

  • platforms
    • chrome: Add CrOS USB PD logging driver commit

    • chrome: Add support for v1 of host sleep event commit

    • chrome: cros_ec: Add EC host command support using rpmsg commit

    • chrome: wilco_ec: Add h1_gpio status to debugfs commit

    • Add support for Basin Cove power button commit

    • asus-wmi: Add fn-lock mode switch support commit

    • mlx-platform: Add support for tachometer speed register commit

  • perf: Add Icelake support (kernel only, except Topdown) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • perf: Add Tremont core PMU support commit

  • perf: Add support for recording and printing XMM registers available, for instance, on Icelake commit

  • perf vendor events intel: Update Bonnell to V4 commit, update Broadwell events to v23 commit, update Broadwell-DE events to v7 commit, update BroadwellX events to v14 commit, update Goldmont to v13 commit, update GoldmontPlus to v1.01 commit, update Haswell events to v28 commit, update HaswellX events to v20 commit, update IvyBridge events to v21 commit, update IvyTown events to v20 commit, update JakeTown events to v20 commit, update KnightsLanding events to v9 commit, update SandyBridge events to v16 commit, update Silvermont to v14 commit, update Skylake events to v42 commit, update SkylakeX events to v1.12 commit, update metrics from TMAM 3.5 commit

  • Use temporary mm for text poking commit, commit

  • Intel trace hub
    • Add switch triggering support commit

    • msu: Add a sysfs attribute to trigger window switch commit

    • Add Comet Lake support commit

  • KVM: Implement HWCR support commit

  • KVM: Introduce a new guest mapping interface commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • hyper-v: Implement EOI assist optimization commit

  • Inject a PMI for KVM Guest when ToPA buffer is filled commit, commit

  • XEN: Add "xen_timer_slop" command line option commit

  • Let x86_64 unlock 1GB-hugetlb pages commit, commit

11.4. CSKY

  • ftrace: Add dynamic function tracer (include graph tracer) commit

  • Add page fault perf event support commit

  • Add perf callchain support commit

  • Add support for perf registers sampling commit

  • Support dynamic start physical address commit

  • Add support for libdw commit

  • Add support for perf unwind-libdw commit

11.5. MIPS

  • eBPF: Provide support for MIPS64R6 commit, commit

  • eBPF: Initial support for MIPS32 architecture commit

11.6. PARISC

  • Add KPROBES support commit, commit

  • Convert page table updates to use per-pagetable spinlocks which overall improves performance on SMP machines a lot commit

  • Add KGDB support commit

11.7. POWERPC

  • Support for Kernel Userspace Access/Execution Prevention (like SMAP/SMEP/PAN/PXN) on some 64-bit and 32-bit CPUs. This prevents the kernel from accidentally accessing userspace outside copy_to/from_user(), or ever executing userspace commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • KVM: Book3S HV: add XIVE native exploitation mode commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • 32 bit: Add KASAN support commit

  • 32 bit: A fast path entry for syscalls on 32-bit CPUs, for a 12-17% speedup in the null_syscall benchmark commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Warn if W+X pages found on boot commit

  • Show powerpc_security_features in debugfs commit

  • Add force enable of DAWR on P9 option commit

11.8. RISCV

  • Implement nosmp commandline option commit

  • Support nr_cpus command line option commit

11.9. S390

  • Add support for kernel address space layout randomization (KASLR) commit

  • Support relocatable kernel commit

  • Add support for kernel image signature verification commit

  • KVM: new guest facilities commit, commit, commit, commit, commit, commit, commit

  • KVM: Add halt_poll_max_steal to set the maximum percentage of steal time to allow polling commit

  • Add support for the CPU-Measurement Facility counter second version number 6 commit, commit

  • crypto: use TRNG for seeding/reseeding commit

  • ipl: Provide has_secure sysfs attribute commit

  • qeth: add TX multiqueue support for IQD devices commit

  • qeth: add TX multiqueue support for OSA devices commit

  • Protected virtualization guest support commit

  • Report new CPU capabilities commit

  • PCI: Add parameter to disable usage of MIO instructions commit

  • Add parameter to force floating irqs commit

  • Show statistics for MSI IRQs commit

  • vfio-ccw: support hsch/csch commit, commit, commit, commit, commit, commit

11.10. XTENSA

  • Add exclusive atomics support commit

11.11. ARC

  • HSDK platform updates commit, commit, commit, commit, commit

  • Kill applications trying to access kernel virtual space commit

12. Drivers

12.1. Graphics

  • Userspace DRM API
    • Initial merge of timeline sync objects. Timeline syncobj gives user more flexibility and convenience to do sychronization commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Expose FB_DAMAGE_CLIPS to atomic aware userspace only commit

    • Add Colorspace connector property interface to program colorspace to sink devices. Modern sink devices support more than 1 type of colorspace like 601, 709, BT2020 etc. This helps to switch based on content type which is to be displayed commit, commit, commit

    • Enable P0xx (planar), Y2xx and Y4xx (packed) pixel formats commit, commit, commit, commit, commit, commit

    • Support 64 bpp half float formats commit, commit, commit

    • fourcc: Add AFBC yuv fourccs for Mali commit, commit, commit, commit, commit, commit, commit, commit

  • New drivers
    • vboxvideo: moved out of staging commit

    • aspeed: ASPEED SoC BMC chip display support commit

    • (FEATURED) lima: ARM Mali4xx GPU acceleration driver support commit

    • (FEATURED )panfrost: ARM Mali6xx/7xx Midgard/Bitfrost acceleration driver support commit

  • i915
    • Comet Lake (Gen9) PCI IDs commit, commit

    • Updated Icelake PCI IDs commit

    • Elkhartlake (Gen11) support commit, commit, commit, commit, commit, commit

    • gvt: Enable async flip on plane surface mmio writes, some 3D applications have significant performance improvement commit

    • Add support for Gen 11 pipe color features commit, commit, commit

    • Implement HDCP2.2 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • DP MST property addtions commit, commit, commit, commit, commit, commit

  • amdgpu
    • Use HMM for userptr
    • vega20 experimental smu11 support merge

    • Add initial RAS (Reliability, Availability, Serviceability) support to amdgpu on supported boards. Features include SRAM and VRAM ECC, bad page tracking, and error containment commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • BACO (Bus Active, Chip Off) support for vega12 commit, commit, commit

    • NV12 planes support commit

    • colorspace properties for planes commit

    • Expose generic SDP message access interface commit

    • Expose support for DRM_FORMAT_RGB565 commit

    • Expose support for alpha blending on overlays commit

    • Add sysfs files for returning VRAM/GTT info2 commit

    • XGMI pstate switch initial support commit, commit

    • Enable XGMI mapping for peer device commit

    • Add sysfs entries for xgmi hive commit

    • amdkfd: Add missing Polaris10 ID commit

    • Add debugfs dpcd interface commit

    • Add debugfs entry for amdgpu_dm_visual_confirm commit

    • Generic SDP message access in debugfs commit

  • panel
    • OSD070T1718-19TS panel support commit

    • panel-tpo-td028ttec1 backlight support commit

    • Ronbo RB070D30 MIPI/DSI commit

    • Feiyang FY07024DI26A30-D MIPI-DSI panel commit

    • Rocktech jh057n00900 MIPI-DSI panel commit

    • simple: add lg,acx467akm-7 panel commit

  • msm
    • GPU zap shader support expansion commit, commit

    • Enable userspace support for robustness commit, commit, commit

  • meson
    • G12A support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • malidp
    • Initial Mali D71 support in komeda driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • omapdrm
    • drm bridge/panel support commit, commit

    • Remove TFP410 and DVI connector drivers commit

    • Remove panel-dpi driver commit

  • nouveau
    • Initial support for boards with TU117 chipset commit

    • Add kconfig option to turn off nouveau legacy contexts. (v3) commit

  • rockchip
    • rk3066 hdmi support commit

  • sun4i
    • DSI burst mode support commit

  • v3d
    • v3d v4.2 support commit

  • rcar-du
    • Display writeback support commit

  • vc4
    • Add a debugfs entry to disable/enable the load tracker commit

  • cirrus
    • Rewrite and modernize driver commit

  • backlight: lm3630a: Add firmware node support commit

  • Add library for shmem backed GEM objects commit

12.2. Storage

  • ahci: qoriq: add ls1028a platforms support commit

  • ahci: qoriq: add lx2160 platforms support commit

  • nvmet-tcp: implement C2HData SUCCESS optimization commit

  • SCSI
    • mpt3sas: Load balance to improve performance and avoid soft lockups commit

    • qedf: Add driver state to 'driver_stats' debugfs node commit

    • qla2xxx: qla2xxx: Add support for ISP28XX (Gen7) adapter commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • smartpqi: add H3C controller IDs commit

    • target: Add device product id and revision configfs attributes commit

    • ufs-cdns: Add support for UFSHCI with M31 PHY commit

    • ufs-mediatek: Add UFS support for Mediatek SoC chips commit

12.3. Drivers in the Staging area

  • spi: mt7621: Move SPI driver out of staging commit

  • iio: ad7780: moving ad7780 out of staging commit

  • erofs: support IO read error injection commit

  • iio: ad7780: add gain & filter gpio support commit

  • most: enable configfs support commit

  • Add Fieldbus Device subsystem commit

  • fieldbus: anybus-s: support HMS Anybus-S bus commit

  • fieldbus: anybus-s: support the Arcx anybus controller commit

  • fieldbus: support HMS Profinet IRT industrial controller commit

  • kpc2000: add initial set of Daktronics drivers commit

  • kpc2000: Add DMA driver commit

  • media: cedrus: Add support for H6 commit

  • media: zoran: remove deprecated driver commit

  • m57621-mmc: delete driver from the tree commit

  • Remove mt7621-eth commit

  • rtlwifi: delete the staging driver commit

12.4. Networking

  • Bluetooth
    • btbcm: Add default address for BCM43341B commit

    • btbcm: Add entry for BCM2076B1 UART Bluetooth commit

    • btmrvl: add support for SD8987 chipset commit

    • hci_qca: Added support for WCN3998 commit

    • mediatek: add support for MediaTek MT7663S and MT7668S SDIO devices commit

  • hfi1: Add debugfs to control expansion ROM write protect commit

  • Add the Elastic Fabric Adapter (EFA) driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • ipoib: Allow user space differentiate between valid dev_port commit

  • Allow FDB, RAW flows and DEVX on representors together with small fixes commit, commit, commit, commit, commit, commit

  • aquantia: Implement hwmon api for chip temperature commit, commit

  • bnx2x: Add support for detection of P2P event packets commit

  • bnxt_en
    • Add device IDs 0x1806 and 0x1752 for 57500 devices commit

    • Add support for PCIe statistics commit

    • Add support for aRFS on 57500 chips commit

  • cxgb4/cxgb4vf: Display advertised FEC in ethtool commit

  • dpaa2-eth: Add flow steering support without masking commit

  • Distributed switch architecture
    • Add NXP SJA1105 DSA driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • lantiq: Add bridge offloading commit, commit, commit, commit, commit

  • enetc: Add missing link state info for ethtool commit

  • hns3: add some DFX info for HNS3 driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • i40e
    • Add support for X710 B/P & SFP+ cards commit

    • Implement DDP support in i40e driver commit

    • Introduce recovery mode support commit

    • Add new pci id for X710/XXV710 N3000 cards commit

  • ice
    • Add support for Data Center Bridging (DCB) commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Add support for PF/VF promiscuous mode commit

    • Enable MAC anti-spoof by default commit

  • igc
    • Add multiple receive queues control supporting commit

    • Add support for statistics commit

    • Add support for the ntuple feature commit

    • Extend the ethtool supporting commit

  • iwlwifi
    • Add support for 6-7 GHz channels commit

    • dbg: add DRAM monitor support for AX210 device family commit

    • dbg_ini: add lmac and umac error tables dumping support commit

    • dbg_ini: add periodic trigger support commit

    • for AX210 device support radio GF4 commit

    • mvm: enable HT/VHT IBSS commit

    • mvm: support multiple BSSID commit

    • mvm: support v2 of the WoWLAN patterns command commit

  • mlx5
    • Add user space managed steering infrastructure commit, commit, commit, commit

    • Add support in RDMA RX steering commit

    • Eswitch, enable RoCE loopback traffic commit

  • mlx5e
    • Add the Support for VLAN modify action and replaces TC VLAN pop and push actions with VLAN modify commit, commit, commit

    • Offload TC e-switch rules with egress/ingress VLAN devices commit, commit

    • Add Geneve tunnel stateless offload support commit

    • XDP, Inline small packets into the TX MPWQE in XDP xmit flow commit

    • ethtool, Add support for EEPROM high pages query commit

  • mlxsw
    • Add support for devlink info command commit

    • spectrum: Implement loopback ethtool feature commit, commit

  • mt76
    • Add mac80211 driver for MT7615 PCIe-based chipsets commit

    • Add TX/RX antenna pattern capabilities commit

    • mt76x02: enable AP mode for USB commit

  • mvneta: Add 2500BaseT support commit

  • mvpp2
    • Add classification support commit, commit

    • debugfs: Allow reading the C2 engine table from debugfs commit

    • debugfs: Allow reading the flow table from debugfs commit

  • mwifiex: add support for SD8987 chipset commit

  • nfp
    • add SR-IOV trusted VF support commit

    • Flower flow merging commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • implement ethtool get module EEPROM commit

  • phy
    • Move Omega PHY entry to Cygnus PHY driver commit

    • Add amlogic g12a mdio mux support commit

    • Add support for reset-controller commit

    • aquantia: add SGMII statistics commit

    • aquantia: add downshift support commit

    • marvell: add PHY tunable fast link down support for 88E1540 commit

    • meson-gxl: add g12a support commit

    • mscc: add support for VSC8514 PHY commit

  • qtnfmac
    • Allow changing the netns commit

    • Allow to control DFS slave radar detection commit

  • rsi: add new device model for 9116 commit

  • rt2x00: add RT3883 support commit

  • rtw88: new Realtek 802.11ac driver commit

  • tg3: allow ethtool -p to work for NICs in down state commit

  • xilinx: emaclite: add ethtool ops commit, commit

12.5. Audio

  • aloop: Support S24 sample formats commit

  • firewire-motu: add support MOTU 8pre !FireWire commit

  • hda/intel: add !CometLake PCI IDs commit

  • hda/realtek: Support low power consumption for ALC256 commit and ALC295 commit

  • oxfw: allow PCM capture for Stanton SCS.1m commit

  • ALSA System on Chip
    • (FEATURED) Add support for Sound Open Firmware for the common DSP framework commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Sound Open Firmware (SOF) - Intel support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Intel: add sof-rt5682 machine driver commit

    • Intel: common: add Geminilake Realtek+Maxim machine driver entry commit

    • Intel: skl_hda_dsp_generic: add DMIC support commit

    • Mediatek: MT8183: Add machine driver with DA7219 commit

    • Mediatek: MT8183: Add machine driver with TS3A227 commit

    • Mediatek: MT8183: change supported formats of DL2 and UL1 commit

    • cs42l51: add reset, regulators, master mode, power management, adc volume control commit, commit, commit, commit, commit, commit

    • es8316: Add support for inverted jack detect commit

    • fsl: Add NXP AUDMIX device and machine drivers commit, commit

    • lochnagar: Add driver to support Lochnagar 2 sound card commit

    • mchp-i2s-mcc: add driver for I2SC Multi-Channel Controller commit

    • rt5651: Add support for active-high jack detect commit

    • rt5677-spi: Add ACPI ID commit

    • sprd
      • Add Spreadtrum audio compress offload support commit

      • Add Spreadtrum multi-channel data transfer support commit

    • tlv320aic31xx
      • Add button press detection commit

      • Add headphone/headset detection commit

      • Add Playback !PowerTune Controls commit

      • Add Switch for Setting Common Mode Voltage commit

    • wm_adsp: Add support for new Halo core DSPs commit

12.6. Tablets, touch screens, keyboards, mouses

  • Add KEY_KBD_LAYOUT_NEXT, a key to cycle through a set of keyboard layouts commit, commit

  • Add a driver for GPIO controllable vibrators commit

  • Add support for Azoteq IQS550/572/525 commit

  • goodix: add GT5663 CTP support commit

  • qt1050: add Microchip AT42QT1050 support commit

  • sun4i-a10-lradc-keys: add support for A83T commit

  • max77650: Add onkey support commit

  • HID
    • Add driver for U2F Zero built-in LED and RNG commit

    • intel-ish-hid: Add Comet Lake PCI device ID commit

    • intel-ish-hid: ISH firmware loader client driver commit

    • logitech: Handling of non DJ receivers in hid-logitech-dj 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

    • logitech-dj: add support for the Logitech MX5500's Bluetooth Mini-Receiver commit

    • logitech-hidpp: add support for the MX5500 keyboard commit

    • logitech-hidpp: Add support for the S510 remote control commit

    • macally: Add support for Macally ikey keyboard commit

12.7. TV tuners, webcams, video capturers

  • Media Device Allocator internal API, which allows multiple drivers share a media device. It solves a very common use-case for media devices where one physical device (an USB stick) provides both audio and video commit, commit, commit, commit, commit

  • v4l: add I / P frame min max QP definitions commit

  • user api: Add MEDIA_BUS_FMT_BGR888_3X8 media bus format commit

  • vicodec: Add support for stateless decoder commit

  • atmel-isc: Add support for BT656 with CRC decoding commit

  • dvb: Add support for the Avermedia TD310 commit

  • platform: meson: Add Amlogic Meson G12A AO CEC Controller driver commit

  • rcar-csi2: Enable support for r8a774a1 commit

  • rcar-vin: Enable support for r8a774a1 commit

  • st-mipid02: MIPID02 CSI-2 to PARALLEL bridge driver commit

12.8. Universal Serial Bus

  • usb/hcd: Send a uevent signaling that the host controller had died commit

  • xhci: add Immediate Data Transfer support, which allow the HCD to copy small chunks of data (up to 8bytes) directly into its output transfer TRBs. This avoids the somewhat expensive DMA mappings that are performed by default on most URBs submissions commit

  • gadget: f_ncm: Add OS descriptor support commit

  • dwc3: Add Amlogic G12A DWC3 glue commit

  • host: xhci-tegra: Add Tegra186 XUSB support commit

  • mtu3: add debugfs interface files commit

  • mtu3: supports new QMU format commit

  • typec: Add driver for NVIDIA Alt Modes commit

  • typec: ucsi: Support for DisplayPort alt mode commit

  • typec: ucsi: ccg: add firmware flashing support commit

  • usb-storage: Add new ID to ums-realtek commit

  • serial: pl2303: add Allied Telesis VT-Kit3 commit

  • serial: option: add Telit 0x1260 and 0x1261 compositions commit

  • serial: option: add support for Simcom SIM7500/SIM7600 RNDIS mode commit

12.9. Serial Peripheral Interface (SPI)

  • bcm2835aux: add driver stats to debugfs commit

  • dw: Add support for an optional interface clock commit

  • imx: add module parameter to control DMA use commit

  • lpspi: Add i.MX8 boards support for lpspi commit

  • lpspi: add dma mode support commit

  • lpspi: enable runtime pm for lpspi commit

  • pxa2xx: Add support for Intel Comet Lake commit

  • spi-mem: Add support for Zynq QSPI controller commit

  • tegra114: add 3 wire transfer mode support commit

  • tegra114: add dual mode support commit

12.10. Watchdog

  • bd70528: Initial support for ROHM BD70528 watchdog block commit

  • imx_sc: Add i.MX system controller watchdog support commit

12.11. Serial

  • serial: f81232: add high baud rate support commit

  • serial: Add Milbeaut serial control commit

  • serial: sprd: Add DMA mode support commit

  • tty: serial: add driver for the SiFive UART commit

12.12. ACPI, EFI, cpufreq, thermal, Power Management

  • ACPI/IORT: Add support for the SMMU Performance Monitor Counter Group information from ACPI commit

  • cpufreq: qoriq: Add ls1028a chip support commit

  • cpufreq: qoriq: add support for lx2160a commit

  • thermal: Add some functionalities for Tegra soctherm commit, commit, commit, commit, commit, commit, commit, commit

  • thermal: tsens: Add generic support for TSENS v1 IP commit

  • thermal: Introduce Amazon's Annapurna Labs Thermal Driver commit

  • thermal: rockchip: Support the PX30 SoC in thermal driver commit

12.13. Real Time Clock (RTC)

  • Add ASPEED RTC driver commit

  • ds1672: remove sysfs debug interface commit

  • pcf85063: add alarm, nvram, offset correction and microcrystal rv8263 support commit, commit, commit, commit, commit

12.14. Voltage, current regulators, power capping, power supply

  • Power
    • Add over-current health state commit

    • Add standard, adaptive and custom charge types commit

    • Add new properties for start/end charge threshold commit, commit

    • UCS1002 Programmable USB Port Power Controller commit

    • Ingenic JZ47xx Battery Fuel Gauge commit

    • AXP20x USB Power: Add AXP813 support commit

    • AT91 poweroff: Add SAM9X60 support commit

    • OLPC battery: Add XO-1.5 and XO-1.75 support commit

    • gpio-charger: Add support for charger status commit

    • max77650: Add support for battery charger commit

  • regulator: Add support for stm32 power regulators commit

12.15. Pin Controllers (pinctrl)

  • lochnagar: Add support for the Cirrus Logic Lochnagar commit

  • mediatek: Add MT8516 Pinctrl driver commit

  • Add pinctrl support for BM1880 SoC commit

  • Add STMFX GPIO expander Pinctrl/GPIO driver commit

12.16. Multi Media Card (MMC)

  • mtk-sd: add support for MT8516 commit

  • sdhci-pci: Add support for Intel CML commit

12.17. Memory Technology Devices (MTD)

  • afs: add v2 partition parsing commit

  • rawnand: atmel: add sam9x60 nand controller support commit

  • rawnand: ingenic: Add support for the JZ4725B commit

  • rawnand: ingenic: Add support for the JZ4740 commit

  • spi-nor: intel-spi: Add support for Intel Comet Lake SPI serial flash commit

12.18. Industrial I/O (iio)

  • accel: add support to LIS2DE12 commit

  • accel: kxcjk1013: Add KIOX0008 ACPI Hardware-ID commit

  • adc: Add driver for the TI ADS8344 A/DC chips commit

  • adc: ad7616: Add support for AD7616 ADC commit

  • adc: lpc32xx: Add scale feature commit

  • adc: stm32-dfsdm: add support for buffer modes commit and scan mode commit

  • counter: stm32-lptimer: Add power management support commit

  • gyro: add core driver for fxas21002c commit

  • gyro: fxas21002c: add i2c driver commit and spi driver commit

  • imu: adis16480: Add support for ADIS1649x family of devices commit

  • imu: adis16480: Add support for external clock commit

  • imu: st_lsm6dsx: add support to LSM6DSOX commit

  • imu: st_lsm6dsx: add support to LSM6DSR commit

  • light: vcnl4000 add support for the VCNL4040 proximity and light sensor commit

  • temperature: Add MAX31856 thermocouple support commit

  • srf04.c: add maxbotix ultrasonic sensors commit

12.19. Multi Function Devices (MFD)

  • Add ST Multi-Function eXpander (STMFX) core driver commit

  • Add new driver for MAX77650 PMIC commit

  • altera-sysmgr: Add SOCFPGA System Manager commit

  • axp20x: Add USB power supply mfd cell to AXP803 commit and AXP813 commit

  • cros_ec: Add host_sleep_event_v1 command commit

  • intel-lpss: Add Intel Comet Lake PCI IDs commit

  • max77620: Support Maxim 77663 commit

  • sec: Add support for the RTC on S2MPA01 commit

  • syscon: Add optional clock support commit

12.20. Pulse-Width Modulation (PWM)

  • pwm: Add i.MX TPM PWM driver support commit

12.21. Inter-Integrated Circuit (I2C)

  • i2c-piix4: Add Hygon Dhyana SMBus support commit

  • Add drivers for the AMD PCIe MP2 I2C controller commit

  • at91: added slave mode support commit

  • designware: Add support for an interface clock commit

  • iproc: Add slave mode support commit

  • iproc: add NIC I2C support commit

  • iproc: add polling support commit

  • mediatek: Add i2c support for MediaTek MT8183 commit

12.22. Hardware monitoring (hwmon)

  • Add support for samples attributes to ABI commit

  • ina3221: Add averaging mode support commit and voltage conversion time settings commit

  • lm75: Add support for TMP75B commit

  • max6650: add thermal cooling device capability commit

  • mlxreg-fan: Add support for fan capability registers commit

  • pmbus/ir38064: Add driver for Infineon IR38064 Voltage Regulator commit

  • pmbus/isl68137: Add driver for Intersil ISL68137 PWM Controller commit

  • pwm-fan: Add RPM support via external interrupt commit

  • lochnagar: Add Lochnagar 2 hardware monitoring driver commit

12.23. General Purpose I/O (gpio)

  • Add driver for Mellanox BlueField GPIO controller commit

  • ixp4xx: Add driver for the IXP4xx GPIO commit

  • max77650: Add GPIO support commit

  • pca953x: Add support for CAT9554 commit and pca6416 commit

12.24. Leds

  • lm3532: Introduce the lm3532 LED driver commit

  • max77650: Add LEDs support commit

12.25. DMA engines

  • pl330: introduce debugfs interface commit

  • tegra210-adma: add support for Tegra186/Tegra194 commit

12.26. Cryptography hardware acceleration

  • cavium/nitrox - Added rfc4106(gcm(aes)) cipher support commit

  • ccp: introduce SEV_GET_ID2 command commit

  • ccree: add CID and PID support commit

  • ccree: add SM4 protected keys support commit

  • ccree: add support for sec disabled mode commit

  • mxc-scc: Remove broken driver commit

12.27. PCI

  • al: Add Amazon Annapurna Labs PCIe host controller driver commit

  • keystone: Add support for PCIe EP commit and PCIe RC in AM654x Platforms commit

12.28. Thunderbolt

  • Bring same kind of functionality for older Apple systems than we have in PCs. Software connection manager is used on Apple hardware with Light Ridge, Cactus Ridge or Falcon Ridge controllers to create PCIe tunnels when a Thunderbolt device is connected. Currently only one PCIe tunnel is supported. On newer Alpine Ridge based Apple systems the driver starts the firmware which then takes care creating tunnels. These patches improve the connection manager to bring full PCIe daisy chains (up to 6 devices), Display Port tunneling and P2P networking. It also adds support for Titan Ridge based Apple systems 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 support for DMA tunnels commit

  • Add support for Display Port tunnels commit

  • Add support for XDomain connections commit

  • Add XDomain UUID exchange support commit

12.29. Clock

  • analogbits: add Wide-Range PLL library commit

  • at91: add support for the sam9x60 clocks handled by the PMC commit, commit, commit, commit

  • imx: pllv4: add fractional-N pll support commit

  • lochnagar: Add support for the Cirrus Logic Lochnagar commit

  • mediatek: Add MT8183 clock support commit

  • mediatek: add clock driver for MT8516 commit

  • meson: axg-audio: add g12a support commit

  • qcom: Add QCS404 TuringCC commit

  • renesas: r8a774c0: Add Z2 clock commit

  • sifive: add a driver for the SiFive FU540 PRCI IP block commit

  • stm32: Introduce clocks of STM32F769 board commit

  • milbeaut: Add Milbeaut M10V clock controller commit

  • clocksource/drivers/ixp4xx: Add driver commit

12.30. PHY ("physical layer" framework)

  • Add usb phy support for hi3660 Soc of Hisilicon commit

  • amlogic: Add Amlogic G12A USB3 + PCIE Combo PHY Driver commit

  • amlogic: add Amlogic G12A USB2 PHY Driver commit

  • mediatek: Add UFS M-PHY driver commit, commit

  • qcom-qmp: Add msm8998 PCIe QMP PHY support commit

  • rcar-gen3-usb2: Add support for r8a77470 commit

  • renesas: phy-rcar-gen2: Add support for r8a77470 commit

  • sr-usb: Add Stingray USB PHY driver commit

  • tegra: xusb: Add Tegra186 support commit, add support for power supplies commit

  • ti: Add a new SERDES driver for TI's AM654x SoC commit

12.31. EDAC (Error Detection And Correction)

  • amd64: Add Family 17h Model 30h PCI IDs commit

  • altera: Add Stratix10 ECC DBE SMC call commit

12.32. Various

  • misc: Add Aspeed P2A control driver commit, commit

  • extcon: intel-cht-wc: Enable external charger commit

  • fpga manager: Adding FPGA Manager support for Xilinx zynqmp commit

  • habanalabs
    • Allow the user to inquire about the device's status (operational/Malfunction/in-reset) in the INFO IOCTL commit

    • Add new IOCTL for debug, tracing and profiling commit, commit

    • Add goya implementation for debug configuration commit

  • mailbox: Add support for Armada 37xx rWTM mailbox commit

  • mei: expose device state in sysfs commit

  • mtip32xx: remove trim support commit

  • nvmem: Add driver for STM32 factory-programmed read only mem commit

  • nvmem: imx-ocotp: add support for imx8mq commit

  • nvmem: stm32: add support for STM32MP15 BSEC to control OTP data commit

  • of: address: Add support for the parent DMA bus commit

  • platform/mellanox: Add !TmFifo driver for Mellanox BlueField Soc commit

  • pps: pps-gpio PPS ECHO implementation commit

  • soc: imx: Add generic i.MX8 SoC driver commit

  • soc: ti: Add MSI domain bus support for Interrupt Aggregator commit

  • irqchip/ti-sci-inta: Add msi domain support commit

  • irqchip/ti-sci-inta: Add support for Interrupt Aggregator driver commit

  • irqchip/ti-sci-intr: Add support for Interrupt Router driver commit

  • irqchip: Add driver for IXP4xx commit

  • tty: rocket: Remove RCPK_GET_STRUCT ioctl commit and deprecate the rp_ioctl commit

13. List of feature merges

  • unified TLB flushing

  • objtool updates

  • RCU updates

  • speculation mitigation update

  • stack trace updates

  • EFI updates

  • irq updates

  • locking updates

  • perf updates

  • scheduler updates

  • CPU hotplug updates

  • timer updates

  • x86 apic update

  • x86 asm updates

  • x86 build updates

  • x86 cpu updates

  • x86 irq updates

  • x86 kdump update

  • x86 mm updates

  • x86 platform updates

  • x86 timer updates

  • x86 topology updates

  • x86 microcode loading update

  • m68k updates

  • s390 updates

  • mmiowb removal

  • arm64 updates

  • ACPI updates

  • power management updates

  • device properties framework updates

  • EDAC updates

  • RAS updates

  • hwmon updates

  • crypto update

  • Kselftest updates

  • regmap updates

  • regulator updates

  • spi updates

  • security subsystem updates

  • HID updates

  • livepatching updates

  • printk updates

  • ktest updates

  • x86 FPU state handling updates

  • vfs inode freeing updates

  • vfs stable fodder fixes

  • btrfs updates

  • jfs updates

  • iomap updates

  • xfs updates

  • stream_open conversion

  • pidfd updates

  • compiler-based variable initialization updates

  • Wimplicit-fallthrough updates

  • MMC updates

  • driver core/kobject updates

  • staging / IIO driver updates

  • char/misc update part 1

  • char/misc update part 2

  • LED updates

  • block updates

  • io_uring updates

  • libata updates

  • swiotlb updates

  • selinux updates

  • audit updates

  • parisc updates

  • misc dcache updates

  • mount ABI updates

  • vfs 'struct file' related updates

  • misc vfs updates

  • AFS updates

  • ext4 updates

  • fscrypt updates

  • randomness updates

  • Devicetree updates

  • networking updates

  • USB/PHY updates

  • tty/serial updates

  • SCSI updates

  • pin control updates

  • IPMI updates

  • media updates

  • arch/csky updates

  • RISC-V nolibc header update

  • Kbuild updates

  • documentation updates

  • cifs fixes

  • GFS2 updates

  • MIPS updates

  • IDE update

  • drm updates

  • sound updates

  • DMA mapping updates

  • dmaengine updates

  • rdma updates

  • orangefs updates

  • intgrity updates

  • smack updates

  • arch/csky perf update

  • workqueue updates

  • cgroup updates

  • NFS client updates

  • i2c updates

  • RTC updates

  • clk framework updates

  • sparc updates

  • powerpc updates

  • mailbox updates

  • pwm updates

  • fbdev updates

  • x86 platform driver updates

  • more documentation updates

  • xtensa updates

  • tomoyo updates

  • VFIO updates

  • gpio updates

  • chrome platform updates

  • UML updates

  • MTD updates

  • UBI/UBIFS updates

  • watchdog updates

  • IOMMU updates

  • misc filesystem updates

  • input updates

  • percpu updates

  • x86 MDS mitigations

  • f2fs updates

  • fuse update

  • overlayfs update

  • misc memory management updates

  • PCI updates

  • MFD updates

  • backlight updates

  • modules updates

  • kgdb updates

  • more parisc updates

  • virtio updates

  • more memory management updates

  • more rdma updates

  • more power management updates

  • more ACPI updates

  • Kconfig updates

  • tracing updates

  • more ktest updates

  • nfsd updates

  • xen updates

  • power supply and reset updates

  • libnvdimm updates

  • thermal soc updates

  • ARM SoC platform updates

  • ARM Device-tree updates

  • ARM SoC-related driver updates

  • ARM SoC defconfig updates

  • ARM updates

  • nommu generic uaccess updates

  • device mapper updates

  • thermal management updates

  • ceph updates

  • more kselftest updates

  • more block updates

  • more vfs mount updates

  • more s390 updates

  • nds32 updates

  • KVM updates

  • RISC-V updates

  • a few more MIPS updates

  • ARM SoC late updates

  • IRQ chip updates

  • clocksource updates

  • perf tooling updates

  • i2c updates

  • more Kbuild updates

  • yet more memory management updates

14. Other news sites

  • LWN's merge summary part 1, part 2, Statistics from the 5.2 kernel — and before

  • Phoronix Linux 5.2 feature overview

  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01