Linux kernel 5.12 changelog.

Summary: This release allows to map an UID to a different one in a mount; it also adds support for selecting the preemption model at runtime; support for a low-overhead memory error detector designed to be used in production;

1. Prominent features

1.1. ID mapping in mounts

This release introduces the concept of idmapped mounts. This allows to map the user id of a mount to a different one. This makes possible to share files more easily between multiple users or multiple machines especially in complex scenarios. For example, idmapped mounts will be used in the implementation of portable home directories in systemd-homed.service(8) where they allow users to move their home directory to an external storage device and use it on multiple computers where they are assigned different uids and gids. It also makes possible to share files from the host with unprivileged containers without having to change ownership permanently, and many other This initial implementation comes with ports for fat and ext4, with other file systems being prepared in next releases

Recommended LWN article: ID mapping for mounted filesystems

1.2. Allow selecting preempting model at boot and run time

Currently, using one preempt model (none/voluntary/model) is a build time configuration option. This release adds the preempt=none/voluntary/full boot options (default: full), to allow distros to build a PREEMPT kernel but fall back to close to PREEMPT_VOLUNTARY (or PREEMPT_NONE) runtime scheduling behavior via a boot time selection. There's also the /debug/sched_debug switch to do this runtime. This feature is implemented via runtime patching (a new variant of static calls).

1.3. KFENCE memory error detector

Kernel Electric-Fence (KFENCE) is a low-overhead sampling-based memory safety error detector. KFENCE detects heap out-of-bounds access, use-after-free, and invalid-free errors.

KFENCE is not as thorough as KASAN, but it has near zero performance overhead - it trades performance for precision. Because of the low overhead, it is designed to be enabled and used in production kernels.

Documentation: Kernel Electric-Fence (KFENCE)

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

11.1. X86

11.2. ARM

11.3. RISCV


11.5. MIPS

11.6. CSKY

11.7. S390

11.8. PARISC

11.9. C6X

12. Drivers

12.1. Graphics

12.2. Power Management

12.3. Storage

12.4. Drivers in the Staging area

12.5. Networking

12.6. Audio

12.7. Tablets, touch screens, keyboards, mouses

12.8. TV tuners, webcams, video capturers

12.9. Universal Serial Bus

12.10. Serial Peripheral Interface (SPI)

12.11. Watchdog

12.12. Serial

12.13. CPU Frequency scaling

12.14. Device Voltage and Frequency Scaling

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

12.16. Real Time Clock (RTC)

12.17. Pin Controllers (pinctrl)

12.18. Multi Media Card (MMC)

12.19. Memory Technology Devices (MTD)

12.20. Industrial I/O (iio)

12.21. Multi Function Devices (MFD)

12.22. Pulse-Width Modulation (PWM)

12.23. Inter-Integrated Circuit (I2C + I3C)

12.24. Hardware monitoring (hwmon)

12.25. General Purpose I/O (gpio)

12.26. Leds

12.27. DMA engines

12.28. Cryptography hardware acceleration

12.29. PCI

12.30. Non-Transparent Bridge (NTB)

12.31. Thunderbolt

12.32. Clock

12.33. PHY ("physical layer" framework)

12.34. CXL (Compute Express Link)

12.35. Various

13. List of Pull Requests

14. Other news sites

KernelNewbies: Linux_5.12 (last edited 2021-04-25 22:10:30 by diegocalleja)