5.4 Merge window, part 1
Some of the highlights from the first half of the 5.4 merge window include:
Architecture-specific
- The Arm64 architecture can now use 52-bit addresses on hardware that supports them.
- It is now possible to pass tagged pointers (pointers with user data in the most significant byte) as system-call arguments on the Arm64 architecture. There is a new prctl() option to enable or disable the use of tagged pointers.
- Support for the SGI SN2 (IA64-based) architecture has been removed.
- The PA-RISC architecture has gained support for the kexec_file_load() system call and kprobes.
- Support for Intel's MPX feature is being removed, seemingly as a result of the lack of the necessary support in the compiler toolchain.
Core kernel
- The waitid() system call has a new P_PIDFD wait type; specifying that type will cause a wait for a pidfd rather than a normal process ID.
- The "haltpoll" CPU idle governor has been merged. This governor will poll for a while before halting an otherwise idle CPU; it is intended for virtualized guest applications where it can improve performance by avoiding exits to the hypervisor. See this commit for some more information.
Filesystems and block I/O
- The iocost I/O controller (formerly called io.weight) has been merged. It should provide better I/O performance, for some workloads at least. See this commit for more information.
- Despite some controversy, the EROFS read-only filesystem has been moved into the main kernel from the staging tree.
- Despite even more controversy, the exFAT filesystem has been added to the staging tree. There is, evidently, a different version of this module at Samsung that might eventually replace the one that has been merged; stay tuned.
- The fscrypt filesystem encryption mechanism has gained a number of new ioctl() calls to improve key management and more; see this commit for details.
- The fs-verity file integrity mechanism has been merged at last. This documentation file describes the feature in detail.
- The kernel will no longer allow user space to write to active swap files.
- A warning will now be issued whenever somebody mounts a filesystem that is unable to represent dates at least 30 years in the future.
- It is now possible to boot a system using a CIFS filesystem as the root; see this commit for details.
Hardware support
- Graphics: LG LB035Q024573 RGB panels, NEC NL8048HL11 RGB panels, Sharp LS037V7DW01 VGA LCD panels, Sony ACX565AKM panels, and Toppoly (TPO) TD028TTEC1 and TD043MTEA1 panels.
- Industrial I/O: Analog Devices ADIS16460 inertial sensors, Maxim Integrated MAX5432-MAX5435 potentiometers, and ON Semiconductor NOA1305 ambient light sensors.
- Input: FlySky FS-iA6B RC receivers.
- Media: OmniVision ov5675 sensors, Allwinner A10 CMOS sensor interfaces, and NXP i.MX IPUv3 IC PP image processors.
- Miscellaneous: firmware trusted platform modules running inside an Arm trusted execution environment, Inspur power-supply controllers, Silergy SY8824C regulators, MediaTek MT6358 power-management ICs, Nuvoton NPCM SPI controllers, devices connected to the Turris Mox "Moxtet" bus, Freescale linflexuart serial ports, Qualcomm QCS404 interconnect buses, Lantiq VRX200/ARX300 PCIe PHYs, SGI ASIC 1-Wire interfaces, and HiSilicon ZIP accelerators.
- Network: Fintek F81601 PCIE to CAN controllers, Kvaser PCIe FD CAN controllers, TI TCAN4X5X M_CAN controllers, Microchip KSZ8795 series switches, ASPEED MDIO bus controllers, NXP ENETC central MDIO controllers, Analog Devices Industrial Ethernet PHYs, and Pensando Ethernet IONIC adapters.
- Pin control: Aspeed G6 SoC pin controllers and Qualcomm SC7180 pin controllers.
- Sound: Cirrus Logic CS47L15 and CS47L92 codecs, NXP UDA1334 codecs, and NXP i.MX audio digital signal processors.
- USB: Cadence USBSS dual-role device controllers.
Networking
- It is now possible to load a BPF program to generate SYN cookies; this hook can run either in the traffic control or XDP modes. See this commit for some more information.
- There is now support for the SAE J1939 protocol used in car and truck networks; see this commit for details. This work has the unique distinction of carrying a Signed-off-by tag from the "kbuild test robot" at Intel; which parts of the patch were authored by the robot is not entirely clear.
Security-related
- The Lenovo ThinkPad "PrivacyGuard" feature, which can restrict the usable viewing angles of the screen from software, is now supported. See this commit for information on how to control this feature.
Miscellaneous
- Much of the "compile once, run everywhere" work for BPF has been merged. These patches (ending in this commit) enhance the user-space libbpf code to be able to read structure-field offsets from the kernel BTF data and relocate BPF code to match the configuration of the currently running kernel.
The 5.4 merge window can be expected to stay open until September 29,
assuming the usual schedule holds (and there is no reason to assume it
won't). The second half of the merge window is certain to be slower than
the first, but there are still some significant trees to be pulled; LWN
will post a followup article once the 5.4-rc1 kernel is out.
If all goes well, the final 5.4 release will happen in the second
half of November.
Index entries for this article | |
---|---|
Kernel | Releases/5.4 |
Posted Sep 24, 2019 0:25 UTC (Tue)
by neilbrown (subscriber, #359)
[Link] (2 responses)
This surprises me. I thought that a negative i_writecount has always prevented user-space writes, and has always been set by swap-on. What has changed?
Posted Sep 24, 2019 3:02 UTC (Tue)
by nivedita76 (subscriber, #121790)
[Link] (1 responses)
"I also discovered that userspace programs can write and create writable
Posted Sep 24, 2019 22:46 UTC (Tue)
by neilbrown (subscriber, #359)
[Link]
Posted Sep 26, 2019 2:24 UTC (Thu)
by naptastic (guest, #60139)
[Link] (3 responses)
Who's making ARM systems with 4 TiB of RAM?
Posted Sep 26, 2019 6:10 UTC (Thu)
by jem (subscriber, #24231)
[Link]
Posted Sep 26, 2019 10:00 UTC (Thu)
by excors (subscriber, #95769)
[Link] (1 responses)
I guess you meant 2^52 = 4 PiB, not 4 TiB? The latter is easy: https://www.gigabyte.com/ARM-Server/R281-T94-rev-100 is a dual-socket ARM server which supports "Up to 16 DIMMS per socket, up to 4 TB of memory per system in dual socket configuration".
Then there's things like Optane DIMMs, which seem to go up to 512 GiB now, so you could physically fit 8 TiB of addressable memory per socket into that server (although I assume it won't actually work on non-Intel platforms).
The kernel is being increased from 48-bit which is 256 TiB, and it sounds like we're not too many years away from reaching that limit.
Posted Sep 30, 2019 16:27 UTC (Mon)
by cesarb (subscriber, #6266)
[Link]
Posted Sep 30, 2019 8:54 UTC (Mon)
by BET-frogger (subscriber, #48302)
[Link] (3 responses)
During development we posted the incremental patches regularly to the linux-can mailing list and the the whole code was available on the linux-can-next git repo on kernel.org. The kbuild test robot compiled the branch, noticed some problems and send patches (as every good developer should do :D). In order to merge the stack, we squashed all patches into one, carrying the S-o-b off all contributing entities. The whole development history is available at https://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux....
The three patches the kbuild robot contributed are:
https://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux...
Marc
Posted Sep 30, 2019 16:20 UTC (Mon)
by BenHutchings (subscriber, #37955)
[Link] (2 responses)
Posted Sep 30, 2019 16:31 UTC (Mon)
by BET-frogger (subscriber, #48302)
[Link]
Posted Oct 2, 2019 21:12 UTC (Wed)
by tbird20d (subscriber, #1901)
[Link]
5.4 Merge window, part 1
5.4 Merge window, part 1
memory mappings to active swap files. This is extremely bad because
this allows anyone with write privileges to corrupt system memory. The
final patch in this series closes off that hole, at least for swap
files."
5.4 Merge window, part 1
Funny how easy it is to remember things that aren't true!
5.4 Merge window, part 1
5.4 Merge window, part 1
5.4 Merge window, part 1
5.4 Merge window, part 1
5.4 Merge window, part 1
https://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux...
https://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux...
5.4 Merge window, part 1
5.4 Merge window, part 1
5.4 Merge window, part 1