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 47 as of 2018-01-29 10:47:50
KernelNewbies:
  • Linux_4.15

Linux 4.15 has been released on 28 Jan 2018.

Summary: Besides the latest code to deal with Meltdown/Spectre, this release includes modesetting and advanced display features for the amdgpu driver; improved power management support of systems with SATA Aggressive Link Power Management; a port for the open RISC-V CPUs; initial support for virtualized memory encryption in AMD CPUs; support for the Intel User Mode Instruction Prevention feature; support of the CPU controller in cgroups v2; a new mmap(2) flag to allow direct writes to persistent memory managed by filesystems; and many new drivers and other improvements.

Contents

  1. Coolest features
    1. Meltdown/Spectre
    2. Modesetting and much better video support in the AMD amdgpu driver
    3. Improved power management in systems with SATA Link Power Management
    4. New architecture: RISC-V
    5. Support for AMD Secure Encrypted Virtualization
    6. Support the User-Mode Instruction Prevention Intel Security feature
    7. Better CPU usage restrictions with the CPU resource controller for cgroupv2
    8. New MAP_SYNC mmap(2) flag to allow direct writes to persistent memory managed by filesystems
  2. Core
  3. File systems
  4. Memory management
  5. Block layer
  6. Tracing and perf
  7. Virtualization
  8. Cryptography
  9. Security
  10. Networking
  11. Architectures
  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 (USB)
    9. Serial Peripheral Interface (SPI)
    10. Serial
    11. ACPI, EFI, cpufreq, thermal, Power Management
    12. Real Time Clock (RTC)
    13. Voltage, current regulators, power capping, power supply
    14. Pin Controllers (pinctrl)
    15. Multi Media Card (MMC)
    16. Memory Technology Devices (MTD)
    17. Industrial I/O (iio)
    18. Multi Function Devices (MFD)
    19. Pulse-Width Modulation (PWM)
    20. Inter-Integrated Circuit (I2C)
    21. Hardware monitoring (hwmon)
    22. General Purpose I/O (gpio)
    23. Leds
    24. DMA engines
    25. Hardware Random Number Generator (hwrng)
    26. Cryptography hardware acceleration
    27. PCI
    28. Non-Transparent Bridge (NTB)
    29. Clock
    30. Various
  13. List of merges
  14. Other news sites

1. Coolest features

1.1. Meltdown/Spectre

This release contains the latest code to deal with Meltdown/Spectre, a security problem you probably have never heard of. Page Table Isolation to address Meltdown is supported for x86/Intel CPUs (it can be disabled with the pti=off kernel boot option); there is also the retpoline mechanism to mitigate spectre v2 (which affects both Intel and AMD), it requires a GCC version supporting the -mindirect-branch=thunk-extern functionality and it can be turned off with boot option spectre_v2=off. The PowerPC architecture is also affected by Meltdown on many CPU models, and can prevent those attacks with a "RFI flush of L1-D cache" feature included in this release. ARM is also affected by meltdown, but patches for it are not included in this release.

A /sys/devices/system/cpu/vulnerabilities/ directory has been added that will show the vulnerabilities affecting your CPU and the mitigations being currently applied.

Code: PTI merge, commit, commit, commit, merge; retpoline commit, commit; powerpc RFI flush commit, commit, commit, commit

1.2. Modesetting and much better video support in the AMD amdgpu driver

This release finally includes the "display code" (132k LoC) that has been missing for a long time from the amdgpu driver. It provides atomic modesetting support for DCE8 (CIK), DCE10 (Tonga, Fiji), DCE11 (CZ, ST, Polaris), DCE12 (vega10), and DCN1 (RV) including HDMI and DP audio, DP MST, and many other advanced display features. This display code has been enabled by default for Vega10 and Raven; pre-vega10 parts can be enabled via module parameter (amdgpu.dc=1), but are not enabled by default in this release because of stability concerns.

Code: merge

1.3. Improved power management in systems with SATA Link Power Management

For many, many years, there has been a problem with Linux and modern systems that have ALPM (Aggressive Link Power Management) in their SATA AHCI controllers (eg. Haswell, Broadwell, Skylake). Because of the obscurity and lack of documentation of the feature (and because playing with this feature was scary, because it easily caused data corruption), Linux has been unable to properly implement ALPM support for years. Lack of ALPM support prevents the system from entering in deep power saving states, which means a much worse battery life for Linux users on systems with ALPM.

In this release, a patch has been merged that implements a better default behaviour for ALPM without corrupting your data, and this means that Linux users with ALPM will see an improved battery life: a T440s test laptop saves 0.9-1.2W when idle with this patch.

Related link: Hans de Goede post

Related link: Matthew Garret post

Code: commit

1.4. New architecture: RISC-V

This release includes the main parts of the port to RISC-V CPUs. RISC-V is an open instruction set architecture that, unlike proprietary CPUs, can be freely used for any purpose, permitting anyone to design, manufacture and sell RISC-V chips and software.

The port is definitely a work in progress. While builds and boots, it's a bit hard to actually see anything happen because there are no device drivers yet.

Code: merge

1.5. Support for AMD Secure Encrypted Virtualization

Linux 4.14 already added support for AMD Secure Memory Encryption, a feature that allows encrypts memory when written to RAM, and automatically decrypts it when read, thus protecting the contents of DRAM from physical attacks on the system.

This release adds initial support for Secure Encrypted Virtualization, which integrates the memory encryption support in the AMD-V virtualization architecture to support encrypted virtual machines - virtual machines that have their memory secured such that only the guest itself has access to unencrypted version, which protects them from other virtual machines and even the hypervisor itself. Secure Encrypted Virtualization is particularly applicable to cloud computing where virtual machines need not fully trust the hypervisor and administrator of their host system. This release adds the changes necessary in a guest OS for Secure Encrypted Memory; changes required to create and manage SEV guests by a host will be merged in next releases.

See: From KVM forum, [[http://www.linux-kvm.org/images/7/74/02x08A-Thomas_Lendacky-AMDs_Virtualizatoin_Memory_Encryption_Technology.pdf|AMD's Virtualization Memory Encryption]

See: AMD memory encryption whitepaper

Code: commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

1.6. Support the User-Mode Instruction Prevention Intel Security feature

This release adds support for a Intel CPU feature called "User Mode Instruction Prevention". When enabled, this feature disables certain instructions such as SGDT, SLDT, SIDT, SMSW and STR, from being executed in user mode, which reduces the tools available to craft some type of privilege escalation attacks. Because of emulators such as WineHQ and DOSEMU2, in virtual-8086 and protected modes, sgdt, sidt and smsw are emulated; str and sldt are not emulated (no emulation is done for user-space long mode processes).

Code: 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

1.7. Better CPU usage restrictions with the CPU resource controller for cgroupv2

Control groups with "unified hierarchy", or cgroup v2, was implemented in 2.6.24 and declared stable in 4.5. The individual resource controllers had to be ported in order to work with this new approach. The biggest missing item was the CPU resource controller, which is used to control the usage of CPU by a group of tasks. The merge of the CPU controller, however, required first addressing some funcionality in the cgroupv2 design, specifically the "thread mode", merged in 4.14, which supports hierarchical resource distribution across the threads of a group. After all that work, this release finally brings a cgroupv2-ready CPU controller.

Recommended LWN article: A milestone for control groups

Code: commit, commit

1.8. New MAP_SYNC mmap(2) flag to allow direct writes to persistent memory managed by filesystems

This release introduces MAP_SYNC and MAP_SHARED_VALIDATE flags to mmap(2), a mechanism that implements synchronous page faults for DAX mappings to make flushing of DAX mappings possible from userspace so that they can be flushed on finer than page granularity and also avoid the overhead of a syscall. It arranges for any filesystem metadata updates that may be required to satisfy a write fault to also be flushed ("on disk") before the kernel returns to userspace from the fault handler. Effectively every write-fault that dirties metadata completes an fsync() before returning from the fault handler. The new MAP_SHARED_VALIDATE mapping type guarantees that the MAP_SYNC flag is validated as supported by the filesystem's mmap() implementation.

Recommended LWN article: Two more approaches to persistent-memory writes

Code: commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

2. Core

  • PID: replace pid bitmap implementation with IDR API commit, commit

  • proc: Add CoreDumping flag to /proc/self/status to notify if a process is being coredumped commit

  • Control Groups
    • (FEATURED) cgroup2 cpu controller support commit, commit

    • Export list of cgroups v2 features in /sys/kernel/cgroup/features commit

    • Export list of delegatable control files in /sys/kernel/cgroup/delegate commit

    • Implement cgroup2 basic CPU usage accounting to allow monitoring by default without the CPU controller enabled commit, commit, commit, commit

  • livepatching
    • (Un)patching Callbacks, which provide a mechanism for livepatch modules to execute callback functions when a kernel object is (un)patched. They can be considered a "power feature" that extends livepatching abilities to include: Safe updates to global data, "Patches" to init and probe functions and patching otherwise unpatchable code (i.e. assembly) commit, commit, commit

    • Shadow variables: they allow callers to associate new shadow fields to existing data structures, in order to emulate additions to said structures commit

  • pvqspinlock: Implement hybrid queued/unfair lock with 2 modes to combine the best attributes of an unfair lock and a pvqspinlock. A lock waiter goes into the unfair mode when there are waiters in the wait queue but the pending bit isn't set. Otherwise, it will go into the queued mode waiting in the queue for its turn commit

  • sysvipc: make get_maxid O(1) once again commit

  • user namespaces: increase the number of uid and gid mappings a user namespace can support from 5 to 340 commit

  • lockdep: Add a boot parameter allowing unwind in "cross-release" lockdep feature commit, commit

  • Support resetting WARN_ONCE/WARN_ON_ONCE (in order to check if they are triggered again) by writting 1 to /sys/kernel/debug/clear_warn_once commit, commit

  • kbuild: Speed incremental builds of the kernel up by a bit by caching generated variables commit, commit

  • kcov: support comparison operands collection commit

  • Remove /proc/sys/vm/nr_pdflush_threads (has been obsolete since 2.6.32) commit

  • Add /sys/devices/system/cpu/vulnerabilities directory to show the status of meltdown/spectre handling commit

3. File systems

  • XFS
    • Initial parts of online fsck support, complete support will be merged in future releases 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

    • Switch to use a b+tree to implement the in-core extent list. This reduces the need for a large contiguous allocation that the current indirection array requires, and thus avoids stalls during workloads using giant extent lists (ie. workloads that work with heavily fragmented files), especially on systems that are long running commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • BTRFS
    • Allow to specify zlib compression level, using the mount option -o compress=zlib:9 commit, commit

    • Improve btrfs send performance of large files commit

    • A new version of ioctl "extent to inode mapping", addressing a usecase where we want to retrieve more but inaccurate results and do the postprocessing in userspace, aiding defragmentation or deduplication tools commit, commit, commit

    • Enable indexing for btrfs as lower filesystem in overlayfs commit

    • Add heuristics for faster guess of the compressibility of data commit, commit, commit, commit, commit, commit, commit

    • add ref-verify, an optional debugging feature to verify extent reference accounting commit, commit

  • EXT4
    • Add support for online resizing with bigalloc commit

    • Improve smp scalability for inode generation commit

  • F2FS
    • Support flexible inline xattr size commit

    • Support issuing/waiting discard in range commit

    • Support error injection of bio allocation commit and get_page errors commit

    • Support quota sys files commit

    • Support soft block reservation commit

    • Export SSR allocation threshold in sysfs commit

    • Show # of dirty segments via sysfs commit

    • Show flush list status in sysfs commit

    • Expose quota information in debugfs commit

  • CRAMFS
    • Rehabilitate cramfs commit

    • Add mmap support commit

    • Direct memory access support commit

    • Implement uncompressed and arbitrary data block positioning commit

  • GFS2
    • Implement SEEK_HOLE and SEEK_DATA commit

    • Add support for statx(2) inode flags commit

  • AFS
    • Implement mmap() commit

    • Make use of the YFS service upgrade to fully support IPv6 commit

    • Allow to use IPv6 address to specificate VL servers commit

    • Lay the groundwork for supporting network namespaces commit

4. Memory management

  • Speed up page cache truncation part 1 commit, commit, commit, commit, commit, commit, commit

  • Speed up page cache truncation part 2 commit, commit, commit, commit, commit, commit, commit, commit

  • (FEATURED) Implement synchronous page faults for DAX mappings to make flushing of DAX mappings possible from userspace (through a new mmap(2) flag, MAP_SYNC), so that they can be flushed on finer than page granularity and also avoid the overhead of a syscall commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Make able to disable NUMA stats for improved performance by writting 0 to /proc/sys/vm/numa_stat commit

  • Switches page table accounting to single counter from three - this removes VmPMD and VmPUD in /proc/self/status commit

  • Complete deferred page initialization commit, commit, commit, commit, commit, commit, commit, commit

  • dump_pagetables: Add two debugfs files which allow to dump the pagetable of the current task commit, commit, commit

  • Add infrastructure for get_user_pages_fast() benchmarking commit

  • slabinfo: add "-U" option to show unreclaimable slabs only commit

  • android/ion: userspace test utility for ion buffer sharing commit

  • kmemcheck: rip it out, it has been obsoleted by other facilities commit

  • Account filp cache to kmemcg commit

  • Account epoll's epitem and eppoll_entry to kmemcg commit

5. Block layer

  • loop: make loop cgroup aware commit

  • device mapper: add DAX support to the DM log-writes target commit, commit

  • null_blk: add no_sched module parameter commit

  • zram: add zstd to the supported algorithms list and remove zlib from the recommended list commit, commit

  • zram: skip swapcache for fast devices to reduce swap-in latency commit, commit, commit, commit

  • bcache: implement PI controller for writeback rate commit

  • brd: remove dax support commit

6. Tracing and perf

  • ftrace: Allow module init functions to be traced commit, commit, commit, commit, commit

  • tracing: add support for preempt and interrupt enabled/disable events commit, commit

  • perf stat: Add generic support for standalone metrics specified in JSON files. A metric is a formula that uses multiple events to compute a higher level result (e.g. IPC) commit

  • perf stat: Setting up groups can be complicated due to the complicated scheduling restrictions of different PMUs. Add a concept of a 'weak group': try to set up a group, but if it's not schedulable fallback to not using a group commit

  • perf list: Print metric groups with perf list metricgroups. A metric is a formula that uses multiple events to compute a higher level result (e.g. IPC) commit

  • perf record: user registers can currently only collected implicitely with call graph recording. To allow to see them separately, and filter them, add a new --user-regs option to record that is similar to --intr-regs, but acts on user regs. Also teach perf script to print user regs commit, commit

  • perf sched timehist: Add --pid and --tid options to show only events for specific pid/tids commit

  • perf script: Allow creating per-event dump files commit

  • perf top: multithread the synthetizing of events, which greatly improves user experience in systems such as Intel's Knights Mill commit, commit

  • Update vendor events JSON metrics for Broadwell DE commit, Broadwell Server commit, Broadwell commit, Haswell EP commit, Haswell commit, Ivy Bridge commit, Ivy Town commit, Sandy Bridge EP commit, Sandy Bridge commit, Skylake commit, Skylake server commit, add Goldmont Plus V1 event file commit

  • kprobes: Disable the jprobes APIs in preparation for removal. Nowadays ftrace and other tracing features are mature enough to replace jprobes use-cases commit, commit, commit, commit, commit

7. Virtualization

  • Hyper-V: vmbus: Expose per-channel info in sysfs commit, commit

  • tools/kvm_stat: Add Python 3 support to kvm_stat commit

  • vfio/pci: Virtualize Maximum Payload Size commit and Maximum Read Request Size commit

  • XEN: introduces the frontend for the newly introduced PV Calls procotol, which allows the implementation of a set of POSIX functions in a different domain commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • XEN: grant table interface v2 support commit, commit, commit, commit, commit

  • virtio-net: support XDP_REDIRECT commit, commit, commit

8. Cryptography

  • sm3: add OSCCA SM3 secure hash commit

9. Security

  • Add eBPF LSM hooks (see bpf section in networking)
  • EVM
    • Extend the /sys/kernel/security/evm interface to allow userspace to signal an RSA key has been loaded. Also allow userspace to block loading of a symmetric key in order to avoid a compromised system from being able to load an additional key type later commit

    • Include security.apparmor in EVM measurements commit

  • audit
    • Adds the ability to filter records based on the filesystem type (useful for ignoring tracefs or debugfs) commit

    • Allow auditd to set pid to 0 to end auditing commit

    • Record fanotify access control decisions commit

  • Smack: Base support for overlayfs commit

10. Networking

Note: If you are interested in Linux networking, it is recommended to take a look at LWN's reports on Netconf 2017 and Netdev 2.2

  • TCP
    • Maintain the TCP retransmit queue using an rbtree, with 1GB windows at 100Gb this really has become necessary commit

    • Improve the CPU consumption of the RACK TCP loss recovery algorithm, in particular for high-speed networks commit, commit, commit

    • Remove the forward-acknowledgment (FACK) packet-based loss and reordering detection. FACK has been disabled by default and the successor RACK subsumed FACK and can handle reordering better commit, commit

    • Higher throughput under reordering with adaptive RACK reordering wnd commit

    • New socket option TCP_FASTOPEN_KEY to allow different keys per listener commit

    • Configure TFO without cookie per socket and/or per route. Linux already allows to enable TFO without a cookie by using the fastopen-sysctl and setting it to TFO_SERVER_COOKIE_NOT_REQD (or TFO_CLIENT_NO_COOKIE). This release exposes a socket-option and a per-route attribute to enable such fine-grained configurations commit

    • Add namespace support for the sysctls tcp_abort_on_overflow commit, tcp_adv_win_scale commit, tcp_app_win commit, tcp_autocorking commit, tcp_challenge_ack_limit commit, tcp_default_congestion_control commit, tcp_dsack commit, tcp_early_retrans commit, tcp_fack commit, tcp_frto commit, tcp_invalid_ratelimit commit, tcp_limit_output_bytes commit, tcp_max_reordering commit, tcp_min_rtt_wlen commit, tcp_min_tso_segs commit, tcp_moderate_rcvbuf commit, tcp_nometrics_save commit, tcp_pacing_ca_ratio commit, tcp_pacing_ss_ratio commit, tcp_recovery commit, tcp_retrans_collapse commit, tcp_rfc1337 commit, tcp_rmem and tcp_wmem commit, tcp_slow_start_after_idle commit, tcp_stdurg commit, tcp_thin_linear_timeouts commit, tcp_tso_win_divisor commit, tcp_workaround_signed_windows commit

    • Add support for the new of a new TCP experimental option that is needed by the SMC protocol. With this option, SMC capabilities are exchanged between peers during the TCP three way handshake commit

  • IPv4
    • Add namespaces support for the sysctl tcp_fastopen commit, tcp_fastopen_blackhole_timeoutcommit, tcp_fastopen_key commit

    • Send a netevent whenever multipath hash policy is changed commit

  • IPv6
    • During route lookup, reader lock is taken and during route insertion, deletion or modification, writer lock is taken. This is a very inefficient implementation because the fastpath always has to do the operation to grab the reader lock. This release tries to get rid of the usage of the rwlock and replace it with rcu and spinlock protection. This greatly speeds up the fastpath performance as it only needs to hold rcu which is much less expensive than grabbing the reader lock commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Implement limits on RFC 8200 Hop-by-Hop and Destination options commit

    • Set all.accept_dad to 0 by default commit

    • Add support for sockopt(SOL_IPV6, IPV6_FREEBIND) commit

    • ila: make identifier format optional commit, commit, commit, commit, commit

    • Add a per-device sysctl (ndisc_tclass) to specify IPv6 Neighbour Discovery traffic class commit

  • VSOCK: add the netlink sock_diag interface for AF_VSOCK. Userspace can send a DUMP request to filter sockets based on their state (connected, listening, etc) commit, commit, commit, commit, commit

  • BPF
    • spectre v2 prevention: prevent out-of-bounds speculation commit, introduce BPF_JIT_ALWAYS_ON config commit

    • Add 'bpftool' utility, to help with the inspection and simple manipulation of eBPF maps (documentation tools/bpf/bpftool

    • Allow BPF programs to get the base RTT of the connection commit, commit, commit, commit, commit

    • New bpf cpumap type for XDP_REDIRECT commit commit, commit, commit, commit

    • eBPF-based device cgroup controller: cgroup v2 lacks the device controller, provided by cgroup v1; this release adds a new eBPF program type, which in combination of previously added ability to attach multiple eBPF programs to a cgroup, will provide a similar functionality, but with some additional flexibility commit, commit, commit, commit, commit

    • New file mode and LSM hooks for eBPF object permission control: eBPF objects are accessed, controlled, and shared via a file descriptor, but unlike file descriptors for files and sockets, the existing mechanisms for eBPF object access control are very limited: grant access to all processes, or only CAP_SYS_ADMIN processes. This release adds LSM hooks to eBPF so that security systems such as selinux can do a more fine grained control commit, commit, commit, commit, commit

    • Extend bpf_{prog,map}_info commit, commit, commit, commit, commit

    • Permit multiple bpf attachments for a single perf tracepoint event commit, commit, commit

    • Enable generic transfer of metadata from XDP into skb, meaning the packet has a flexible and programmable room for meta data, which can later be used by BPF to set various skb members when passing up the stack commit, commit, commit, commit, commit, commit

    • Add support for attaching multiple programs per cgroup commit, commit, commit, commit, commit, commit, commit, commit

    • Add offload as a first class citizen commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • bridge
    • IGMP snooping for local traffic commit, commit, commit, commit, commit, commit

    • Add notifications for the bridge dev on vlan change commit

    • Implement arp and nd suppression in the bridge driver for ethernet vpns. It implements rfc7432, section 10 for ethernet VPN deployments commit, commit, commit

    • Trigger RTM_NEWLINK when interface is modified by bridge ioctl commit

  • 802.11 (wireless)
    • Add an event that indicates that a connection is authorized commit

    • in-kernel regulatory database commit, commit, commit, commit

    • nl80211: add Optimized Connectivity Experience (OCE) scan and capability flags commit, commit

    • nl80211: add an option to allow MFP without requiring it commit

  • ip_gre: add support for i/o_flags update commit, commit

  • ip_tunnel: add mpls over gre support commit

  • Trigger netlink notification on ifalias change via sysfs commit

  • Time-sensitive Networking (TSN): Add qdisc based config interface for Credit-Based Shaper (CBS). The CBS queueing discipline implements the shaper algorithm defined by the 802.1Q-2014 Section 8.6.8.2 and detailed in Annex L commit, commit, commit, commit, commit, commit

  • Distributed switch architecture: add port fdb dump commit

  • qrtr: Support decoding incoming v2 packets commit

  • packet scheduler
    • sch_htb: add per class overlimits counter commit

    • sch_netem: convert netem away from the old "ticks" interface and userspace API, and add support for a new "slot" feature intended to emulate bursty macs such as WiFi and LTE better commit, commit, commit

  • netfilter: nf_tables: adds a new get operation to look up for specific elements in a set via netlink interface commit

  • openvswitch
    • Enable NSH support commit

    • Add meter action support to runs packet through a meter, which may drop the packet, or modify the packet (e.g., change the DSCP field) commit, commit, commit, commit

    • Allow openvswitch to query ports in another netns commit, commit, commit

  • smc: add SMC rendezvous protocol commit

  • SCTP: Introduce SCTP Stream Schedulers. It provides 3 schedulers at the moment: FCFS, Priority and Round Robin. The other 3, Round Robin per packet, Fair Capacity and Weighted Fair Capacity will be added later commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • TIPC: Add a 'Group Communication' feature in order to resolve the datagram and multicast flow control problem. This new feature makes it possible for a user to instantiate multiple private virtual brokerless message buses by just creating and joining member sockets commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • ipvlan: add 'private' and 'vepa' attributes to ipvlan modes commit, commit

  • TUN: enable NAPI for TUN/TAP driver commit, commit

  • Infiniband
    • Expose CQ moderation to user space commit, commit, commit, commit, commit, commit, commit

    • Receive stateless offloading support for incoming tunneling traffic for raw ethernet QP commit, commit, commit

    • Introduce Multi-Packet receive work queue to improve performance and memory footprint commit, commit

  • NFC: Add NFC_CMD_DEACTIVATE_TARGET support commit

11. Architectures

  • RISC-V
    • Add new RISC-V architecture (FEATURED) merge

  • ARM 32/64 bit Device-Tree Sources
    • New SoC: Add support for Broadcom Hurricane 2 SoC used in switching products commit, commit

    • Hurricane 2 based support for Ubiquiti UniFi Switch 8 commit

    • Hurricane 2 based support for Broadcom BCM5301X based wireless access points and routers: Luxul ABR-4500 commit, Luxul XBR-4500 commit, Luxul XAP-1440 commit, Luxul XAP-810 commit

    • New SoC: Allwinner R40 is a new SoC, with Quad Core Cortex-A7 and peripherals like A20 commit, commit

    • Allwinner R40 based Banana Pi M2 Ultra and Berry single-board computers commit, commit

    • New SoC: Amlogic Meson-AXG A113D based SoC for audio commit

    • Allwinner A83T based TBS A711 Tablet commit

    • Allwinner H5 based NanoPi NEO Plus2 single-board computer commit

    • Actions S500 based CubieBoard6 single-board computer commit

    • Amlogic S912 based Khadas VIM2 single-board computer commit

    • Amlogic S912 based Tronsmart Vega S96 set-top-box commit

    • NXP i.MX51 based Zodiac Inflight Innovations RDU1 board commit

    • NXP i.MX53 based GE Healthcare PPD biometric monitor commit

    • NXP i.MX6 based Pistachio single-board computer commit

    • NXP i.MX6 based Vining-2000 automotive diagnostic interface commit

    • NXP i.MX6 based Ka-Ro TX6 Computer-on-Module in additional variants commit

    • Qualcomm MSM8974 (Snapdragon 800) based Fairphone 2 phone commit

    • Qualcomm MSM8974pro (Snapdragon 801) based Sony Xperia Z2 Tablet commit

    • Realtek RTD1295 based set-top-boxes MeLE V9 and PROBOX2 AVA commit, commit

    • New SoC: Renesas R-Car V3M (R8A77970) SoC for automotive commit, commit

    • R-Car V3M "Eagle" reference board commit

    • Renesas H3ULCB and M3ULCB "Kingfisher" extension infotainment boards commit, commit, commit

    • Renasas r8a7745 based iWave G22D-SODIMM SoM commit

    • Rockchip rk3288 based Amarula Vyasa single-board computer commit

    • Samsung Exynos5800 based Odroid HC1 single-board computer commit

    • display5: Device tree description of LWN's DISPLAY5 board commit

    • imx6qdl-wandboard: Add support for the revd1 variants commit

    • iwg22m: Add iWave RZG1E SODIMM board based on RZ/G1E commit, commit

    • sun7i: Add dts file for A20-OLinuXino-MICRO-eMMC commit

    • DRA722: Add support for DRA71x Silicon Rev 2.1 commit

    • ulcb-kf: initial device tree commit

  • ARM
    • Make XIP kernel .data compressed in ROM commit, commit, commit, commit, commit

    • Add support for ELF fdpic binaries on both MMU and noMMU platforms commit, commit, commit, commit, commit, commit, commit, commit

    • Delete the V3 PCI driver commit

    • NOMMU: Support MPU in XIP configuration commit

    • KVM: Add full support for GICv4, bringing direct injection of MSIs to arm and arm64 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

    • KVM: vgic-its: Implement KVM_DEV_ARM_ITS_CTRL_RESET commit

  • ARM64
    • Initial support for the Scalable Vector Extension (SVE), an extension to the AArch64 execution state which complements and extends the SIMD functionality of the base architecture to support much larger vectors 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

    • Always use REFCOUNT_FULL commit

    • Expose support for optional ARMv8-A features commit

    • perf: Add PMU driver for ARMv8.2 Statistical Profiling Extension commit

    • perf: Add PMU driver for Hisilicon's system PMUs commit, commit, commit,commit

  • X86
    • (FEATURED) Add page table isolation to fix Meltdown merge, commit, commit, commit

    • Implement CPU vulnerabilites sysfs functions commit

    • (FEATURED) Add initial retpoline support commit, commit

    • (FEATURED) Add User-Mode Instruction Prevention 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

    • Enable new SSE/AVX/AVX512 CPU features commit

    • PCI: Enable a 64bit BAR on AMD Family 15h (Models 00-1f, 30-3f, 60-7f) commit

    • intel_rdt: Add framework for better RDT UI diagnostics commit

    • (FEATURED) Add AMD Secure Encrypted Virtualization (SEV) support part 1 (changes required in a guest OS for SEV support) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Make CONFIG_UNWINDER_ORC=y the default in kconfig for 64-bit commit

    • Add vector domain debugfs support commit

    • platforms
      • wmi: create userspace interface for drivers commit

      • Add driver to force WMI Thunderbolt controller power status commit

      • asus-wmi: Add lightbar led support commit

      • thinkpad_acpi: Implement tablet mode using GMMS method commit

      • intel_turbo_max_3: Add Skylake platform commit

      • silead_dmi: Add entry for the Chuwi Hi8 Pro tablet commit, add entry for the Digma e200 tablet commit

      • dell-smbios-wmi: Add new WMI dispatcher driver commit, commit, commit, commit, commit

    • Remove unused HyperTransport interrupt support commit

    • xen: support 52 bit physical addresses in pv guests commit

    • kvm: vmx: Allow disabling virtual NMI support commit

  • OPENRISC
    • Add SMP support commit, commit, commit, commit, commit

    • Add simple_smp dts and defconfig for simulators commit

    • Enable LOCKDEP_SUPPORT and irqflags tracing commit

    • Support framepointers and STACKTRACE_SUPPORT commit

  • POWERPC
    • (FEATURED) Add support for RFI flush of L1-D cache to address meltdown issue commit, commit, commit, commit

    • Add commandline option to disable hardware transactional memory commit

    • Implement PMEM API commit

    • Implement UACCESS_FLUSHCACHE API commit

    • Allow to configure if radix is used by default commit

    • VAS: Add support for user receive window commit, export HVWC to debugfs commit

    • xmon: Add option to show uptime information commit, support dumping software pagetables commit

    • Add support for setting SPRN_TIDR commit

    • Add POWER9_DD20 feature commit

    • KVM: PPC: Book3S HV: Add infrastructure for running HPT guests on radix host commit, allow for running POWER9 host in single-threaded mode commit

  • S390
    • Add support for FORTIFY_SOURCE commit

    • Introduce CPU alternatives commit, commit

    • Queued spinlocks and queued rwlocks implementations commit, commit, commit, commit

    • Add hardware counter support for IBM z14 commit

    • crypto: add s390 platform specific aes gcm support commit

    • disassembler: add new z14 instructions commit, add sthyi instruction commit

    • ptrace: add runtime instrumention register get/set which allows to read and modify the runtime instrumention control block commit

    • Add s390_sthyi system call which emulates the sthyi (store hypervisor information) instruction commit

    • topology: add detection of dedicated vs shared CPUs commit

    • Optimized implementations of memset16, memset32 & memset64 commit and memset commit

    • qeth: add basic VNICC support commit, commit, commit

    • virtio: remove the old KVM virtio transport commit

    • zcrypt: add the full CEX6S card support to the zcrypt device driver commit

    • zcrypt: Introduce QACT support for AP bus devices commit

    • perf
      • Add perf_regs support and user stack dump for DWARF unwinding commit, commit, commit, commit, commit

      • Add callback to perf to enable using AUX buffer commit

  • SPARC
    • vDSO for sparc commit

  • MIPS
    • Add support for MIPSfpga commit

    • BCM63XX: add clkdev lookup support commit

  • M68K
    • Add Sysam stmark2 open board support commit

  • PARISC
    • parisc: Add CPU topology support commit

12. Drivers

12.1. Graphics

  • Add DRM mode object leasing for improving VR use cases. It provides new data structures to hold "lease" information about drm mode setting objects, and provides for creating new drm_masters which have access to a subset of the available drm resources commit, commit, commit, commit

  • Add CRTC_GET_SEQUENCE and CRTC_QUEUE_SEQUENCE ioctls. They provide crtc-id based functions instead of pipe-number, while also offering higher resolution time and wider frame count as required by the Vulkan API commit

  • intel
    • Add Display IPC support. IPC (Isochronous Priority Control) is the hardware feature, which dynamically controls the memory read priority of Display commit, commit, commit

    • Transparent Huge Page support commit, commit, commit, commit, commit, commit

    • User defined priorities support. It allows to change the default priority on a per-context basis, allowing different contexts to be favoured with GPU time at the expense of lower importance work. The user can adjust the context's priority via I915_CONTEXT_PARAM_PRIORITY, with more positive values being higher priority (they will be serviced earlier, after their dependencies have been resolved) commit, commit, commit

    • gvt: Add emulation for BAR2 (aperture) with normal file RW approach commit

    • gvt: Add support for PCIe extended configuration space commit

    • perf: add support for Coffeelake GT2 commit

    • Drop debugfs/i915_gem_pin_display commit

  • amdgpu
    • (FEATURED) Merge the AMD DC (display code) layer which is requirement to program the display engines on the new Vega and Raven based GPUs. It also contains support for all amdgpu supported GPUs (CIK, VI, Polaris), which has to be enabled. It is also a kms atomic modesetting compatible driver (unlike the previous display code) and it includes HDMI and DP audio, DP MST, and many other advanced display features merge

    • Per VM BO support commit, commit

    • BO flag to allow buffers to opt out of implicit sync commit

    • CI powerplay support commit, commit, commit, commit

    • PASID mgr for kfd commit, commit, commit

    • Add GPU reset functionality for Vega10 commit

    • Prime mmap support commit

    • Add FENCE_TO_HANDLE ioctl that returns syncobj or sync_file or being able to convert an amdgpu fence into one of the handles commit

    • UVD video encode ring support on Polaris commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Transparent huge page DMA support commit, commit, commit, commit

    • CTX priority setting API commit, commit, commit, commit, commit

    • Add query to allow userspace to figure out if VRAM was lost commit

    • Powerplay: get the temperature on CZ commit

    • Add sys file for VBIOS and version commit, commit

    • Add option for force enable multipipe policy for compute commit

  • amdkfd: Drop radeon support commit

  • nouveau
    • Pascal temperature sensor support commit

  • exynos
    • HDMI audio interface support commit

    • Enable support for 1024x768 and 1280x1024 modes commit

  • tegra
    • Prep work for tegra186 commit

  • msm
    • Preemption support for a5xx commit

    • Add per-instance submit queues commit

    • Support multiple ringbuffers commit

    • Add a parameter query for the number of ringbuffers commit

    • Update cursors asynchronously through atomic commit

  • vc4
    • New madvise ioctl commit

  • Rockchip
    • LVDS support commit

  • omapdrm
    • HDMI CEC support commit, commit

  • etnaviv
    • GPU performance counters groundwork commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • sun4i
    • Add support for A10 display pipeline components commit and A20 display pipeline components commit

    • Support output muxing commit

    • Add support for A31's HDMI controller commit

    • Support HDMI controller on A10 commit, commit

  • pl111
    • Add all registers to debugfs commit

    • Add handling of Versatile platforms commit

    • Enable PL110 variant commit

  • adv7511
    • Add HDMI CEC support commit

  • sii8620
    • Add remote control support commit

  • host1x
    • Add Tegra186 support commit, commit, commit

  • panel
    • Add driver for Seiko 43WVF1G panel commit

    • Add support for OTM8009A panel driver commit

    • Add support for S6E63J0X03 panel commit

    • Add support for the Raspberry Pi 7" Touchscreen commit

    • simple: add Toshiba LT089AC19000 commit

  • tve200: Add new driver for TVE200 commit

  • bridge: add Silicon Image SiI9234 driver commit

  • fbdev: remove dead igafb driver commit

12.2. Storage

  • (FEATURED) libata: Add new med_power_with_dipm link_power_management_policy setting commit

  • ahci: Add support for Cavium's fifth generation SATA controller commit

  • ceva: Add gen 3 mode support in driver commit

  • ceva: Make RxWaterMark value as module parameter commit

  • nvme
    • multipath support commit, commit, commit, commit, commit, commit, commit

    • nvme-fc: add uevent for auto-connect commit, commit

    • nvme-pci: add SGL support commit

    • Send uevent for some asynchronous events commit

  • SCSI
    • scsi: Export blacklist flags to sysfs commit

    • sd: change allow_restart to bool in sysfs interface commit

    • hisi_sas: add v3 hw DFX feature commit

    • hisi_sas: add support for servicing AXI error handling commit, commit

    • megaraid_sas: Add support for Crusader controllers commit

    • mpt3sas: NVMe support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • mpt3sas: Adding support for SAS3616 HBA device commit

    • qla2xxx: Changes to support N2N logins commit

    • qla2xxx: Reinstate module parameter ql2xenablemsix commit

    • smartpqi: update controller ids commit

  • target: Add netlink command reply supported option for each device commit

12.3. Drivers in the Staging area

  • typec: fusb302: Move out of staging commit

  • typec: tcpm: Move out of staging commit

  • comedi: adv_pci_dio: update for PCI-1761 commit

  • atomisp: Remove AP1302 sensor support commit

  • atomisp: Remove IMX sensor support commit

  • VME: Remove PIO2 driver commit

12.4. Networking

  • Bluetooth
    • btbcm: Add entry for BCM4356A2 UART bluetooth commit, add support for MINIX Z83-4 based devices commit

    • btusb: Add new NFA344A entry commit

    • hci_bcm: Add support for BCM2E7E commit, add support for MINIX Z83-4 based devices commit

  • Add support for the HiSilicon RoCE engine in the hip08 SoC 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

  • vmw_pvrdma: Add shared receive queue support commit

  • ath10k: add new cipher suite support commit

  • bnxt_en
    • Add PCIe device ID for bcm58804 commit

    • Adding PCI ID for SMARTNIC VF support commit

    • Add ethtool reset method commit

    • Add support for Flower based vxlan encap/decap offload commit

  • brcmfmac: add CLM download support commit

  • cxgb4
    • Add support for new flash parts commit

    • Add support to offload tc flower commit, commit, commit, commit

    • Add new pci device id's for T5 commit, commit and T6 commit, commit

    • Add hash-filter support to tc-flower offload commit, commit, commit, commit, commit, commit, commit

    • Enable more tc flower offload matches and actions commit, commit, commit, commit, commit, commit, commit, commit

    • Collect more hardware dumps via ethtool commit, commit, commit, commit, commit, commit, commit, commit

    • Add support to get hardware debug logs via ethtool commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Remove the obsolete kernel module option 'c4iw_debug' commit

  • cxgb4vf: define get_fecparam ethtool callback commit

  • enic: Add support for 'ethtool -g/-G' commit

  • hv_netvsc: Add ethtool handler to set and get TCP hash levels commit

  • i40e
    • Configuring traffic classes via new hardware offload mechanism in tc/mqprio commit, commit, commit, commit, commit, commit

    • tc-flower based cloud filters commit, commit, commit, commit, commit, commit

    • Add new PHY types for 25G AOC and ACC support commit

    • Add support for 'ethtool -m' commit

    • allow XPS with QoS enabled commit

  • i40evf: enable support for VF VLAN tag stripping control commit

  • ibmvnic
    • Enable TSO support commit

    • Feature implementation of Vital Product Data (VPD) for the ibmvnic driver commit

    • Let users change net device features commit

    • Update reset infrastructure to support tunable parameters commit

  • atusb: Driver for Busware HUL dongle commit

  • iwlwifi
    • Add a new a000 device commit

    • Add new cards for 8260 series commit, for 8265 series commit and for new cards for a000 series commit

    • Add dbgfs entry for fw info commit

    • Configurable Tx command queue size commit

    • Add new cards for 9260 and 22000 series commit

  • ixgbe: add counter for times Rx pages gets allocated, not recycled commit

  • liquidio: xmit_more support commit, switchdev support for LiquidIO NIC commit

  • mlxsw
    • Preparation for multicast router offload commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Add support for partial multicast route offload commit, commit, commit, commit, commit, commit, commit

    • Add router adjacency dpipe table commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Add support for non-equal-cost multi-path commit, commit, commit, commit, commit, commit, commit, commit

    • Add support for offloading IPv4 multicast routes commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Handle changes in GRE configuration commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Offload decap without encap commit, commit, commit, commit, commit

    • qdisc RED offload commit, commit, commit ,commit, commit, commit, commit, commit, commit

    • Offload bridge device mrouter commit, commit, commit, commit, commit

  • mlx5/mlx5e
    • Enable differentiated services code point (dscp) to priority mapping for Ethernet packet. Once this feature is enabled, the packet is routed to the corresponding priority based on its dscp. User can combine this feature with priority flow control (pfc) feature to have priority flow control based on the dscp commit, commit, commit, commit, commit, commit

    • IPoIB Muli Pkey support commit, commit, commit, commit, commit, commit, commit, commit, commit ,commit, commit, commit

    • Support multiple updates of steering rules in parallel commit

    • Add support for 802.1ad vlan filter commit and insertion support commit

    • Add VLAN offloads statistics commit

    • Add support for ethtool msglvl support commit

    • CHECKSUM_COMPLETE offload for VLAN/QinQ packets commit

    • Enable CQE based moderation on TX CQ commit

    • Support 128B CQE compression feature commit, commit, commit

  • Add support for networking over Thunderbolt cable commit, commit and properties commit, commit

  • dsa
    • b53: Support prepended Broadcom tags commit, commit, commit, wire-up EEE commit

    • bcm_sf2: Add support for IPv6 CFP rules commit, commit, commit, commit, commit, commit, commit

    • lan9303: Add basic offloading of unicast traffic commit, add fdb/mdb methods commit, commit

  • ena: add power management ops to the ENA driver commit, add statistics for missed tx packets commit

  • hns3
    • Add support for DCB feature commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Add mqprio hardware offload support in hns3 driver commit

    • Add support set_link_ksettings and for nway_reset ethtool command commit, commit

    • Support set_ringparam and {set|get}_rxnfc ethtool commands commit, commit, commit

    • Add mac loopback selftest support in hns3 driver commit

  • korina: use GRO commit

  • mvpp2: add ethtool GOP statistics commit

  • phy
    • leds: Add support for "link" trigger commit

    • DP83822 initial driver submission commit

    • realtek: add RTL8201F phy-id and functions commit

  • qmi_wwan: add Quectel BG96 2c7c:0296 commit, add Sierra EM7565 1199:9091 commit

  • qualcomm: rmnet: Add support for GRO commit, implement bridge mode commit

  • netronome nfp
    • Extend flower offload match and action capabilities to add offload capabilities for matching on MPLS, TTL, TOS and flow label. Furthermore offload capabilities for action have been expanded to include set ethernet, ipv4, ipv6, tcp and udp headers commit, commit, commit, commit, commit, commit, commit

    • Add support for FEC mode modification commit, commit

    • Add get/set link settings ndos to representors commit

    • bpf: stack support in offload commit, commit, commit, commit, commit, commit, commit, commit, commit

    • bpf: support direct packet access commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • bpf ABIv2 and multi port commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • bpf: support [BPF_ALU | BPF_ALU64] | BPF_NEG commit

    • flower vxlan tunnel offload commit, commit, commit, commit, commit, commit, commit

  • qedr: Add iWARP support for QL4xxxx commit, commit, commit, commit, commit, commit, commit

  • qed
    • Add iWARP enablement support commit

    • Add iWARP out of order support commit

    • Add iWARP support for unaligned MPA packets commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • qtnfmac: make "Channel change" event report full channel info commit

  • r8169: Add support for interrupt coalesce tuning (ethtool -C) commit

  • ravb: RX checksum offload commit

  • rsi
    • p2p mode support commit, commit, commit, commit, commit, commit, commit, commit

    • sdio: Add WOWLAN support for S4 hibernate state commit, for S5 shutdown state commit, for S3 suspend state commit

  • rtlwifi
    • Add TX/RX throughput statistics in period commit

    • Add module parameter ASPM commit

    • Add ID for 8822BE commit

    • Add support for 8822be TX/RX BD commit

  • sfc: support rx-fcs and rx-all commit

  • wil6210: remove SSID debugfs commit

  • Add a driver for Renesas uPD60620 and uPD60620A PHYs commit

12.5. Audio

  • ac97: add an ac97 bus. The goal of this new implementation is to implement a device/driver model for AC97, with an automatic scan of the bus and automatic discovery of AC97 codec devices commit

  • hda/realtek: Add support for ALC1220 commit, add headset mic support for Intel NUC Skull Canyon commit, new codec support for ALC257 commit

  • hda: Add Raven PCI ID commit

  • line6: add support for POD HD DESKTOP commit

  • ASoC
    • AMD: Add machine driver for cz rt5650 commit

    • Intel: Headset button support in kabylake machine driver commit

    • Intel: cht_bsw_max98090: add support for Baytrail commit

    • add mclk-fs support to audio graph card commit

    • arizona: Add support for setting the output volume limits commit

    • bcm2835: Add support for TDM modes commit, support additional samplerates up to 384kHz commit, support left/right justified and DSP modes commit

    • cygnus: Remove support for 8 bit audio and for mono commit

    • da7213: add support for DSP modes commit

    • intel: byt: Add headset jack commit

    • max98927: Added support for DSP_A and DSP_B format commit

    • rsnd: add MIX Volume Ramp support commit

    • rt5514: Voice wakeup support commit

    • stm32: sai: Add synchronization support commit

    • ts3a227e: add acpi table commit

    • wm9705: add ac97 new bus support commit

    • wm9712: add ac97 new bus support commit

    • wm9713: add ac97 new bus support commit

  • sound: Retire OSS commit

12.6. Tablets, touch screens, keyboards, mouses

  • HID
    • Add ID 044f:b605 ThrustMaster, Inc. force feedback Racing Wheel commit

    • alps: add support for Alps T4 Touchpad device commit, add new U1 device ID commit,

    • asus: Add support for Fn keys on Asus ROG G752 commit

  • Add I2C attached EETI EXC3000 multi touch driver commit

  • Add support for HiDeep touchscreen commit

  • Add support for the Samsung S6SY761 touchscreen commit

  • edt-ft5x06: implement support for the EDT-M12 series commit

  • goodix: support gt1151 touchpanel commit

  • wm97xx: add new AC97 bus support commit

  • xpad: add support for PDP Xbox One controllers commit

12.7. TV tuners, webcams, video capturers

  • rockchip/rga: v4l2 m2m support commit

  • v4l2-tpg: add Y10 and Y12 support commit

  • vivid: add support for Y10 and Y12 commit

  • cec-gpio: add HDMI CEC GPIO driver commit

  • imx274: V4l2 driver for Sony imx274 CMOS sensor commit

  • remote control
    • keymaps: add support for RC of hisilicon TV demo boards commit

    • keymaps: add support for RC of hisilicon poplar board commit

    • Add Astrometa T2hybrid keymap module commit

    • Add driver for tango HW IR decoder commit

    • Add tango keymap commit

    • mceusb: add support for 15f4:0135 commit and 1b80:d3b2 commit

  • tc358743: add CEC support commit

  • tegra-cec: add Tegra HDMI CEC driver commit

  • usbtv: add a new usbid commit

12.8. Universal Serial Bus (USB)

  • typec: driver for TI TPS6598x USB Power Delivery controllers commit

  • typec: wcove: start using tcpm for USB PD support commit

  • f81534: implement break control commit

  • qcserial: add pid/vid for Sierra Wireless EM7355 fw update commit, add Sierra Wireless EM7565 commit

  • dwc2: add support for STM32F7xx USB OTG HS commit

  • mtu3: support option to disable usb3 ports commit

  • mtu3: add support for usb3.1 IP commit

  • renesas_usbhs: add support for R-Car D3 commit

  • usb251xb: Add USB2517i specific struct and IDs commit

  • xhci-mtk: support option to disable usb3 ports commit

  • xhci: add port speed ID to portsc tracing commit

  • xhci: Add debugfs interface for xHCI driver commit

  • early: Use new USB product ID and strings for DbC device commit

  • option: add Quectel BG96 id commit, add support for Telit ME910 PID 0x1101 commit, adding support for YUGA CLM920-NC5 commit

  • usb_debug: add new USB device id commit

  • cp210x: add new device ID ELV ALC 8xxx commit, add IDs for LifeScan OneTouch Verio IQ commit

  • ftdi_sio: add id for Airbus DS P8GR commit

  • phy: Add Broadcom STB USB phy driver commit, commit

  • phy: mxs: add usb charger type detection commit

  • phy: remove phy-msm-usb.c commit

  • phy: remove phy-qcom-8x16-usb.c commit

  • host: remove ehci-msm.c commit

  • Drop unused usb-serial-core USB driver commit

12.9. Serial Peripheral Interface (SPI)

  • imx: Add support for SPI Slave mode commit

  • Add ADI driver for Spreadtrum platform commit

12.10. Serial

  • 8250_fintek: UART dynamic clocksource on Fintek F81216H commit and Fintek F81866 commit

  • 8250_mid: Enable HSU on Intel Cedar Fork PCH commit

  • meson: add Magic SysRq support commit

  • mvebu-uart: add function to change baudrate commit, support probe of multiple ports commit, commit

  • 8250_pci: Add Amazon PCI serial device ID commit

  • serdev: Add ACPI support commit

  • sh-sci: Support for variable HSCIF hardware RX timeout commit

  • tty: serial: meson: allow baud-rates lower than 9600 commit

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

  • ACPI:
    • LPIT: Add Low Power Idle Table (LPIT) support commit

    • PMIC: Add TI PMIC TPS68470 operation region driver commit

    • PMIC: Add opregion driver for Intel Dollar Cove TI PMIC commit

    • nfit: add support for the _LSI, _LSR, and _LSW label methods commit

    • nfit: Enable to show what feature is supported for nfit_test commit

    • nfit: add 'Enable Latch System Shutdown Status' command support commit

    • nfit: add support for NVDIMM_FAMILY_INTEL v1.6 DSMs commit

    • APD: Add clock frequency for ThunderX2 I2C controller commit

  • thermal
    • hisi: Add support for hi3660 SoC commit

    • Add Tegra BPMP thermal sensor driver commit

    • Add brcmstb AVS TMON driver commit

    • imx: Add support for reading OCOTP through nvmem commit

    • int340x: processor_thermal: Add Cannon Lake support commit and Coffee Lake support commit

    • pch: Add Cannon Lake support commit

    • rockchip: Support the RV1108 SoC in thermal driver commit

  • cpuidle: ladder: Add per CPU PM QoS resume latency support commit

  • nfit_test: add error injection DSMs commit

12.12. Real Time Clock (RTC)

  • mediatek: add driver for RTC on MT7622 SoC commit

  • Add support for NXP PCF85363 real-time clock commit

  • sc27xx: Add Spreadtrum SC27xx PMIC RTC driver commit

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

  • Add support for Smart Battery System Manager commit

  • axp20x: Add support for AXP813 regulators commit

  • da9211: update for supporting da9223/4/5 commit

  • qcom_spmi: Add support for pmi8994 commit

12.14. Pin Controllers (pinctrl)

  • intel: Add Intel Cedar Fork PCH pin controller support commit

  • sh-pfc: r8a7795: Add SDHI0-3 support commit, Add USB3.0 host support commit

  • sh-pfc: r8a77995: Add USB2.0 host support commit

  • sh-pfc: r8a7795-es1: Add USB3.0 host support commit

  • rza1: Add support for RZ/A1L commit

  • gpio: mcp23s08: add support for mcp23018 commit

12.15. Multi Media Card (MMC)

  • Preparations for enabling CQE (eMMC CMDQ) requests commit, commit, commit

  • Convert RPMB to a character device commit

  • Export emmc revision in sysfs commit

  • mediatek
    • Add support of mt2701/mt2712 commit

    • Updates management of clocks and tunings commit, commit, commit, commit, commit, commit

  • meson-mx-sdio: Add a driver for the Amlogic Meson8 and Meson8b SoCs commit

  • sdhci-omap: Add OMAP SDHCI driver commit

  • sdhci-pci: Add support for Intel CDF commit

12.16. Memory Technology Devices (MTD)

  • sharpslpart: Add sharpslpart partition parser commit

  • intel-spi: Add Intel Lewisburg PCH SPI super SKU PCI ID commit

  • spi-nor
    • Add support for Winbond w25q16dw commit

    • Add support for mr25h128 commit

    • Add support for GD25Q256 commit

    • Add support for Gigadevice GD25LQ32 commit

    • intel-spi: Add support for Intel Cedar Fork SPI serial flash commit, add support for Intel Lewisburg SPI serial flash commit

12.17. Industrial I/O (iio)

  • accel: add support to LIS2DW12 commit

  • accel: add support to LIS3DHH commit

  • accel: kxcjk1013: add support for KXTF9 commit

  • dac: Add Texas Instruments 8/10/12-bit 2/4-channel DAC driver commit

  • dac: ad5446: Add IDs of compatible Texas Instruments chips commit

  • dac: ds4422/ds4424 dac driver commit

  • adc: mcp320x: Add support for mcp3550/1/3 commit

  • chemical: ccs811: Add support for data ready trigger commit

  • gyro: st_gyro: add SPI-3wire support to st_gyro framework commit

  • light: tcs3472: support out-of-threshold events commit

  • magnetometer: st_magn: add SPI-3wire support to LIS3MDL commit

  • pressure: add support to LPS33HW and LPS35HW commit

  • pressure: st_pressure: add SPI-3wire support to st_pressure framework commit

  • proximity: Add rfd77402 driver commit

  • platform/chrome: Add cros_ec_accel_legacy driver commit

12.18. Multi Function Devices (MFD)

  • Add Spreadtrum SC27xx series PMICs driver commit

  • Add support for Cherry Trail Dollar Cove TI PMIC commit

  • rts5249: Add support for RTS5250S power saving commit

  • wm97xx-core: core support for wm97xx Codec commit

12.19. Pulse-Width Modulation (PWM)

  • mediatek: Add MT2712/MT7622 support commit

12.20. Inter-Integrated Circuit (I2C)

  • xgene-slimpro: Support v2 commit

12.21. Hardware monitoring (hwmon)

  • k10temp: Add support for family 17h commit, add support for temperature offsets commit

  • max6621: Add support for Maxim MAX6621 temperature sensor commit

  • xgene: Support hwmon v2 commit

  • pmbus: Add driver for Maxim MAX31785 Intelligent Fan Controller commit

12.22. General Purpose I/O (gpio)

  • Add Tegra186 support commit

  • Add driver for Maxim MAX3191x industrial serializer commit

  • dwapb: Add wakeup source support commit

  • uniphier: add UniPhier GPIO controller driver commit

12.23. Leds

  • ledtrig-activity: Add a system activity LED trigger commit

  • Add driver for PC Engines APU/APU2 LEDs commit

12.24. DMA engines

  • Add STM32 DMAMUX driver commit

  • Add STM32 MDMA driver commit

  • Add Spreadtrum DMA driver commit

  • sun6i: Add support for Allwinner A64 and compatibles commit

12.25. Hardware Random Number Generator (hwrng)

  • iproc-rng200 - Add support for BCM7278 commit

12.26. Cryptography hardware acceleration

  • crypto4xx
    • Add aes-gcm support commit

    • Add aes-ccm support commit

    • enable AES RFC3686, ECB, CFB and OFB offloads commit

    • Add backlog queue support commit

  • marvell: Remove the old mv_cesa driver commit

  • s5p-sss: Add HASH support for Exynos commit

12.27. PCI

  • Add resizable BAR infrastructure commit

  • Add pci=big_root_window option for AMD 64-bit windows commit

  • Expose SR-IOV offset, stride, and VF device ID via sysfs commit

  • Add support for Synopsys DesignWare RC in ECAM mode commit

  • hisi: Add HiSilicon STB SoC PCIe controller driver commit

  • layerscape: Add support for ls1012a commit

  • tango: Add MSI controller support commit

  • tegra: Add Tegra186 PCIe support commit

  • v3-semi: Add V3 Semiconductor PCI host driver commit

12.28. Non-Transparent Bridge (NTB)

  • Add MicroSemi Switchtec Non-Transparent Bridge Support commit, commit, commit, commit, commit, commit, commit, commit, commit

12.29. Clock

  • bcm: Add Broadcom Hurricane 2 clock support commit

  • renesas: cpg-mssr: Add R8A77970 support commit

  • samsung: Add a separate driver for Exynos4412 ISP clocks commit

  • qcom: Implement RPM clocks for MSM8660/APQ8060 commit

  • mediatek: Add MT2712 clock support commit, add clock support for MT7622 SoC commit

  • sh_cmt: Support separate R-Car Gen2 CMT0/1 commit

12.30. Various

  • bus: ti-sysc: Add minimal TI sysc interconnect target driver commit

  • bus: add driver for the Technologic Systems NBUS commit

  • extcon: max77843: Add OTG power control to the MUIC driver commit, add support for SmartDock accessory commit

  • firmware: qcom: scm: Expose download-mode control commit. expose secure IO service commit

  • firmware: tegra: Add BPMP debugfs support commit

  • iommu/omap: Add support to program multiple iommus commit

  • iommu/ipmmu-vmsa: Enable multi context support commit

  • irqchip
    • brcmstb-l2: Add support for the BCM7271 L2 controller commit

    • gic-v3: Add support for Range Selector (RS) feature commit

    • meson: Add support for gpio interrupt controller commit

    • stm32: Add stm32h7 support commit, add multi-bank management commit

    • exiu: Add support for Socionext Synquacer EXIU controller commit

  • memory: brcmstb: Add driver for DPFE commit

  • cxl: Add support for POWER9 DD2 commit

  • cxl: Provide debugfs access to PSL_DEBUG/XSL_DEBUG registers commit

  • drivers/nvmem
    • add snvs_lpgpr driver commit

    • rockchip: add support for RK3368 commit

    • Add a driver for the Amlogic Meson6/Meson8/Meson8b SoCs commit

    • uniphier: add UniPhier eFuse driver commit

    • sunxi-sid: add support for A64/H5's SID controller commit

  • remoteproc: debug: add resource table dump feature commit

  • remoteproc: debug: add carveouts list dump feature commit

  • drivers/reset
    • Introduce AXS10x reset driver commit

    • meson: add level reset support for GX SoC family commit

    • add reset-simple to unify socfpga, stm32, sunxi, and zx2967 commit, commit, commit, commit, commit

  • drivers/soc
    • renesas: rcar-sysc: add R8A77970 support commit

    • amlogic: add Meson GX VPU Domains driver commit

    • bcm: brcmstb: Add support for S2/S3/S5 suspend states commit, commit

    • qcom: Remote filesystem memory driver commit

    • atmel: Add basic support for new sama5d2 SiPs commit

    • amlogic: Add Meson6/Meson8/Meson8b/Meson8m2 SoC Information driver commit

    • mediatek: pwrap: add support for MT7622 SoC commit

  • w1: add w1_ds28e17 driver for the DS28E17 Onewire to I2C master bridge commit

  • vfio: platform: reset: Add Broadcom FlexRM reset module commit

13. List of merges

  • Merge /proc/kallsyms pointer value restrictions.

  • Pull documentation updates

  • Pull EDAC updates

  • Pull hwmon updates

  • Pull regulator updates

  • Pull spi updates

  • Pull regmap updates

  • Pull MMC updates

  • Pull general security subsystem updates

  • Pull security subsystem integrity updates

  • Pull m68k updates

  • Pull s390 updates

  • Pull m68k updates

  • Pull OpenRISC updates

  • Pull ia64 update

  • Pull RCU updates

  • Pull core locking updates

  • Pull perf updates

  • Pull RAS updates

  • Pull scheduler updates

  • Pull x86 core updates

  • Pull x86 boot updates

  • Pull x86 debug update

  • Pull x86 platform updates

  • Pull irq core updates

  • Pull timer updates

  • Pull x86 APIC updates

  • Pull x86 cache resource updates

  • Pull x86 timer updates

  • Pull power management updates

  • Pull ACPI updates

  • Pull device properties framework updates

  • Pull staging and IIO updates

  • Pull tty/serial updates

  • Pull USB/PHY updates

  • Pull crypto updates

  • Pull fscrypt updates

  • Pull ext4 updates

  • Pull xfs updates

  • Pull btrfs updates

  • Pull gfs2 updates

  • Pull dlm updates

  • Pull fsnotify updates

  • Pull quota, ext2, isofs and udf fixes

  • Pull core block layer updates

  • Pull device mapper updates

  • Pull MD update

  • Pull SCSI updates

  • Pull IOMMU updates

  • Pull VFIO updates

  • Pull dmaengine updates

  • Pull dma-mapping updates

  • Pull GPIO updates

  • Pull i2c updates

  • Pull sound updates

  • Pull input updates

  • Pull LED updates

  • Pull DeviceTree updates

  • Pull HID updates

  • Pull trivial tree updates

  • Pull livepatching updates

  • Pull RISC-V architecture support

  • Pull arm64 updates

  • Pull MIPS updates

  • Pull networking updates

  • Pull audit updates

  • Pull SELinux updates

  • Pull HSI updates

  • Pull mailbox updates

  • Pull module updates

  • Pull libata updates

  • Pull cgroup updates

  • Pull rdma updates

  • Pull PCI updates

  • Pull IPMI updates

  • Merge updates from Andrew Morton (-mm)

  • Pull leaking_addresses script updates

  • Pull media updates

  • Pull drm updates

  • Pull driver core updates

  • Pull char/misc updates

  • Pull MFD updates

  • Pull backlight updates

  • Pull pin control updates

  • Pull AFS updates

  • Pull f2fs updates

  • Pull user namespace update

  • Pull powerpc updates

  • Pull ARM updates

  • Pull KVM updates

  • Pull xen updates

  • Pull virtio updates

  • Pull ARM SoC platform updates

  • Pull ARM device-tree updates

  • Pull ARM SoC driver updates

  • Pull rdma maintainership update

  • Pull libnvdimm and dax updates

  • Pull more block layer updates

  • Pull compat and uaccess updates

  • Pull iov_iter updates

  • Pull get_user_pages_fast() conversion

  • Pull misc vfs updates

  • Pull cramfs updates

  • Pull overlayfs updates

  • Pull eCryptfs updates

  • Pull NFS client updates

  • Pull second round of s390 updates

  • Pull parisc updates

  • Pull thermal management updates

  • Pull amdgpu DC display code for Vega

  • Pull kselftest updates

  • Pull tracing updates

  • Merge more updates from Andrew Morton (-mm)

  • Pull Kbuild updates

  • Pull Kbuild misc updates

  • Pull clk updates

  • Pull rpmsg updates

  • Pull remoteproc updates

  • Pull sparc updates

  • Pull x86 platform driver updates

  • Pull nfsd updates

  • Pull ntb updates

  • Pull fbdev updates

  • Pull ceph updates

  • Pull orangefs updates

  • Pull MTD updates

  • Pull RTC updates

  • Pull pwm updates

  • Pull apparmor updates

  • Pull SCSI target updates

  • Pull KVM updates

  • Pull more Kbuild updates

  • Pull ARC updates

  • Pull timer updates

14. Other news sites

  • LWN's merge window part 1, part 2; Statistics for the 4.15 kernel

  • Phoronix The New Features Of Linux 4.15

  • heise.de Die Neuerungen von Linux 4.15

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