|
|
Subscribe / Log in / New account

5.11 Merge window, part 1

By Jonathan Corbet
December 18, 2020
When Linus Torvalds released the 5.10 kernel, he noted that the 5.11 merge window would run up against the holidays. He indicated strongly that maintainers should send him pull requests early as a result. Maintainers appear to have listened; over 10,000 non-merge changesets were pulled into the mainline in the first three days of the 5.11 merge window. Read on for a summary of the most significant changes in that flood of patches.

Architecture-specific

  • Support for Intel's software guard extensions (SGX) finally made it into the kernel after 41 revisions on the mailing lists. Some information can be found in this documentation commit.
  • In the ongoing effort to crack down on user-space access to x86 model-specific registers (MSRs), writes to MSR_IA32_ENERGY_PERF_BIAS are no longer allowed. There is a document being constructed with a list of tools that perform writes to MSRs, with the eventual goal of finding better solutions for all of them.
  • The arm64 architecture can now expose tag bits on addresses (the uppermost bits that are not used as part of the virtual address) to signal handlers if the SA_EXPOSE_TAGBITS option has been set with sigaction(). This provides access to, among other things, memory type extension keys in pointers.
  • Support for Microblaze systems without a memory-management unit has been removed; it would seem that there are no longer any users of such systems.
  • The MIPS architecture has gained support for coverage testing with gcov.

Core kernel

  • There is a new system-call interception mechanism, based on prctl(), that allows user space to trap and emulate system calls. The target use case is running Windows games, but other applications seem likely as well.
  • The userfaultfd() system call now provides the ability to disable handling of kernel-mode faults as a security-enhancing measure.
  • The BPF subsystem has gained support for task-local storage — data that lives with a given task. The first user is the BPF Linux security module (formerly KRSI).
  • The accounting of memory used by BPF programs has changed completely. There is now a control-group controller providing fine-grained management of memory use; see this merge commit for (some) information.
  • The BTF mechanism, providing information about kernel types for BPF programs (and more), has been extended to kernel modules.
  • The io_uring subsystem has gained support for the shutdown(), renameat2(), and unlinkat() system calls.
  • Calls to io_uring_enter() can now specify a timeout value. Adding this feature requires changing the API of that system call; this was done by adding a new flag (IORING_FEAT_EXT_ARG) to indicate the presence of the timeout argument.

Filesystems and block I/O

  • The Btrfs filesystem has a couple of new mount options intended to help with the unwelcome task of rescuing data off a corrupted filesystem. Using rescue=ignorebadroots will cause a mount to try to proceed with a corrupted extent root, while rescue=ignoredatacsums turns off data checksum verification.
  • Re-exporting a filesystem mounted over NFS is now considered to be a supported operation.
  • The close_range() system call has gained a new CLOSE_RANGE_CLOEXEC option. When that option is specified, the indicated file descriptors are marked close-on-exec rather than closed immediately.

Hardware support

  • Crypto: Intel QAT_4xxx crypto accelerators and Intel Keem Bay OCS AES/SM4 accelerators.
  • Graphics: Novatek NT36672A DSI panels, TDO TL070WSH30 DSI panels, Analogix Anx7625 MIPI to DP interfaces, AMD "Van Gogh" and "Dimgrey cavefish" graphics processors, Lontium LT9611UXC DSI/HDMI bridges, Samsung sofef00/s6e3fc2x01 OnePlus 6/6T DSI cmd mode panels, and ABT Y030XX067A 320x480 LCD panels.
  • Hardware monitoring: Corsair power-supply HID controllers, Maxim MAX127 12-bit 8-channel data acquisition systems, STMicroelectronics pm6764 voltage regulators, Delta Q54SJ108A2 power supplies, and Linear Technology LTC2992 I2C system monitors.
  • Media: OmniVision OV9734 sensors, OmniVision OV02A10 sensors, and Amlogic 2D graphic acceleration units.
  • Miscellaneous: Modtronix lcd2s 20x4 character displays, Arm DMC-620 memory controllers, Samsung Exynos generic interconnects, Intel Keem Bay USB PHYs, MediaTek MT7621 PCI PHYs, Ingenic USB PHYs, Mediatek MT6360 analog-to-digital converters, Dialog Semiconductor DA9121 regulators, NXP PF8100/PF8121A/PF8200 regulators, Mellanox BlueField performance monitoring counters, Dell Wyse 3020 power buttons, Dialog Semiconductor DA7280 haptic interfaces, TI PRU remote processors, Intel LGM SoC NAND controllers, and AMD sensor fusion hubs.
  • Networking: Hirschmann Hellcreek TSN switches, Samsung S3FWRN82 UARTs, and OpenCompute TimeCard clocks.
  • Pin control and GPIO: Qualcomm LPASS LPI, 8953, SC7280, and SDX55 pin controllers, Intel Lakefield, Elkhart Lake, and Alder Lake-S pin controllers, and Microsemi/Microchip serial GPIO controllers.
  • Sound: NXP audio transceivers, Mediatek MT8192 audio interfaces, Nuvoton NAU8315 class-D amplifiers, Analog Devices ADAU1372 codecs, and Realtek RT715 SDCA codecs.
  • It's also worth noting that there has been more than the usual number of obsolete drivers removed during this merge window. Quite a bit of cleanup has been happening across the driver subsystem.

Miscellaneous

  • Support for the auxiliary bus, a virtual bus for multi-function devices, has been added.

Networking

  • The 802.1Q "connectivity fault management" mechanism is now supported. See this merge message for (a bit) more information.
  • Support for the WiMAX protocol has been moved to staging with the intent of removing it altogether in the near future. It would appear that this support has not actually worked for some time, so the number of users is thought to be zero.
  • RFC 6951 — UDP encapsulation of the SCTP protocol — is now supported.
  • Zero-copy TCP receives have seen a number of performance improvements, making this feature worthwhile for much smaller payloads; see this merge message for more information.
  • There is a pair of new ioctl() calls to facilitate the bridging of PPP channels; see this commit for some documentation.

Security-related

  • The seccomp() system call has gained support for constant-action bitmaps. This is a mechanism allowing seccomp() to determine that specific system calls are always allowed or denied and short out much of the processing work for those calls.

Internal kernel changes

  • The arm64 and s390 architectures have removed set_fs().
  • The migration disable functionality has been merged. The realtime tree has had this capability for years, but there is increasing need for it in the mainline as well.
  • One user of migration disable is the kmap_local() API, which has also been merged.

By the normal schedule, the 5.11 merge window should close on December 27, but Torvalds has indicated that he might delay the 5.11-rc1 release if he falls behind on pull requests due to the holidays. The pace of merging thus far suggests, though, that nobody should count on the merge window lasting any longer than usual. As always, we'll post another summary once the merge window closes, whenever that may be.

Index entries for this article
KernelReleases/5.11


to post comments

5.11 Merge window, part 1

Posted Dec 19, 2020 2:38 UTC (Sat) by bfields (subscriber, #19510) [Link]

Re-exporting a filesystem mounted over NFS is now considered to be a supported operation.

I'd call this a work in progress. There are some limitations.

I've been keeping some notes (mainly for my own benefit) at https://wiki.linux-nfs.org/wiki/index.php/NFS_re-export.

5.11 Merge window, part 1

Posted Dec 19, 2020 5:58 UTC (Sat) by hidave (guest, #18406) [Link]

The x390 should be s390, seems a typo?

5.11 Merge window, part 1

Posted Dec 21, 2020 14:07 UTC (Mon) by stormer (subscriber, #62536) [Link]

Wasn't the unstaging of the H.264 stateless CODEC uAPI in part one ?

5.11 Merge window, part 1

Posted Dec 22, 2020 0:28 UTC (Tue) by zx2c4 (subscriber, #82519) [Link] (2 responses)

> There is a new system-call interception mechanism, based on prctl(), that allows user space to trap and emulate system calls. The target use case is running Windows games, but other applications seem likely as well.

I know about the WINE use case. Does anybody know what other projects are considering or planning on using this new mechanism? Any unexpected creative uses pop up yet?

5.11 Merge window, part 1

Posted Dec 22, 2020 1:50 UTC (Tue) by mathstuf (subscriber, #69389) [Link]

I think rr was interested in it. https://lwn.net/Articles/824525/

There may have been other mentions in that article's comments, but they don't stand out in my memory.

5.11 Merge window, part 1

Posted Dec 22, 2020 7:58 UTC (Tue) by johill (subscriber, #25196) [Link]

I was briefly looking into it for Linux itself (ARCH=um), but this doesn't actually help anything for that case.

5.11 Merge window, part 1

Posted Dec 30, 2020 16:00 UTC (Wed) by zuki (subscriber, #41808) [Link]

> The accounting of memory used by BPF programs has changed completely. There is now a control-group controller providing fine-grained management of memory use;

No new controller, that would be pretty bad (heavyweight and annoyingly user-visible). Instead, the allocations are made visible to the memory controller, so everything happens "automagically" thanks to existing infrastructure.


Copyright © 2020, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds