6.4 Merge window, part 1
BPF
- It is now possible to store kptrs in more map types (specifically per-CPU hashmaps, LRU hashmaps, and local-storage maps).
- BPF programs can now use absolute time values in bpf_timer_start().
- There are improved kptr types for use with packet and XDP buffers. Other new kptr types include support for RCU-protected kptrs and reference-counted kptrs.
- Developers have added an awareness of Android APK packages for uprobe programs. This makes it easier to attach uprobes to code stored in an APK package.
- The generic iterators patch set has been merged, with the eventual goal of making it easier to write loops in BPF programs.
- The BPF verifier log, which contains vital information about why the verifier has rejected a program, can now be used in a rotating mode. This makes it more likely that the information actually needed by developers is still in the log when they look for it.
Core kernel
- There are two new ptrace() operations — PTRACE_GET_SYSCALL_USER_DISPATCH and PTRACE_SET_SYSCALL_USER_DISPATCH — which allow one process to manipulate the system-call user dispatch settings of another. The target use case for this feature is the Checkpoint/Restore in Userspace mechanism.
- The io_uring subsystem can perform multiple direct-I/O writes to a file in parallel if the underlying filesystem supports it; currently, ext4 and XFS have that support. There is also a new "multishot" timeout option that repeatedly generates timeouts without the need to re-arm the timer.
Filesystems and block I/O
- Calls to open() with both the O_DIRECTORY and O_CREAT flags have strange semantics that have varied over the years. As of 6.4, this flag combination will simply cause the call to fail with an EINVAL error.
- The F2FS filesystem can now support zoned block devices where the sizes of the zones are not a power of two.
- The command codes for the ublk driver have changed. This change will obviously break any programs using the old codes; for them, there is a configuration option (UBLK_LEGACY_OPCODES) that will cause the old codes to continue to work as well.
Hardware support
- GPIO and pin control: Loongson 64-bit GPIO controllers, Fairchild FXL6408 8-bit I2C-controlled GPIO expanders, and Intel Elkhart Lake PSE GPIO controllers.
- Graphics: Magnachip D53E6EA8966 DSI panels, Sony TD4353 JDI panels, Novatek NT36523 panels, Freescale i.MX LCD controllers, and Samsung MIPI DSIM bridges.
- Hardware monitoring: Starfive JH71x0 temperature sensors and ACBEL FSG032 power supplies.
- Miscellaneous: Qualcomm Cloud AI accelerators, Freescale i.MX8 image sensor interfaces, MSI laptop embedded controllers, Lenovo Yoga tablet-mode switches, Richtek RT5739 regulators, Richtek RT4803 boost regulators, and HiSilicon STB random-number generators
- Networking: Realtek RTL8710B(U) wireless interfaces, MediaTek MT7530 and MT7531 switches, STMicroelectronics STM32 basic extended CAN controllers, StarFive dwmac Ethernet controllers, AMD/Pensando core-device adapters, Realtek 8822BS, 8822CS, and 8821CS SDIO wireless network adapters, NXP 100BASE-TX PHYs, and Microchip 10BASE-T1S Ethernet PHYs.
Miscellaneous
- Noteworthy documentation additions include the kernel contribution maturity model and a detailed tutorial on how to build a trimmed kernel.
- The nolibc library has gained loongarch support.
Networking
- The kernel now supports the fair capacity and weighted fair queuing stream schedulers for the SCTP protocol.
- There is now generic support for binding LEDs to network switches or PHYs in the system devicetree.
- There is a new, netlink-based API for calling out to user space for helper functions. See this commit for an overview of the functionality and this commit to see how it is used to implement the TLS-handshake request.
- It is now possible to attach BPF programs to netfilter hooks, where they can make packet-forwarding decisions; this merge commit has some more information.
Security-related
- As expected, the SELinux runtime disable feature has been removed. This feature has been deprecated for years, and most distributions have long since disabled it themselves, so chances are good that nobody will notice.
- The SELinux "checkreqprot" functionality, which could be used to circumvent policy restrictions on the creation of executable memory mappings, has also been removed. Here, too, there was a lengthy deprecation cycle and it seems unlikely that anybody will be affected.
- The kernel can now restrict the .machine keyring, which holds machine-owner keys, to keys that are properly signed by a recognized certificate authority. The intent is to allow this keyring to be used with the Integrity Measurement Architecture (IMA) subsystem.
Internal kernel changes
- There is a new, generalized mechanism to enable the creation of kernel worker processes from user space; see this commit message for some more information.
- As expected, the SLOB memory allocator has been removed.
Assuming that the usual two-week schedule holds, the 6.4 merge window can
be expected to remain open until May 7. Once the window closes, you
will of course find a summary here on LWN.
Index entries for this article | |
---|---|
Kernel | Releases/6.4 |
Posted Apr 29, 2023 3:56 UTC (Sat)
by alison (subscriber, #63752)
[Link] (6 responses)
Posted May 2, 2023 12:27 UTC (Tue)
by g0hl1n (subscriber, #122974)
[Link]
Furthermore the term "imx" may also be confusing due to Sony devices having "imx" drivers (imaging sensors) in the kernel.
Posted May 5, 2023 17:39 UTC (Fri)
by flussence (guest, #85566)
[Link] (4 responses)
And the hardware side's relatively tame; try finding a normal user that uses the name "KDE" the way they've been tilting at windmills for the past 15 years to try and make people use it. You'd have more luck convincing people to respect Google's requests to not genericise their noun as a verb.
Posted May 5, 2023 18:37 UTC (Fri)
by sfeam (subscriber, #2841)
[Link] (2 responses)
Posted May 5, 2023 21:21 UTC (Fri)
by zdzichu (subscriber, #17118)
[Link] (1 responses)
Posted May 5, 2023 22:41 UTC (Fri)
by sfeam (subscriber, #2841)
[Link]
Posted May 8, 2023 7:34 UTC (Mon)
by geert (subscriber, #98403)
[Link]
Posted Apr 30, 2023 8:46 UTC (Sun)
by jtepe (subscriber, #145026)
[Link] (7 responses)
Posted Apr 30, 2023 11:09 UTC (Sun)
by andy_shev (subscriber, #75870)
[Link] (4 responses)
Posted May 4, 2023 4:52 UTC (Thu)
by knurd (subscriber, #113424)
[Link] (3 responses)
Hopefully people send feedback or patches, as I can't constantly check[1] if things work as described on commodity distros.
And hopefully the developers of distros that needed to be special cased improve things so that they no longer need to be special cased. From the standpoint of the text it for example would for example be great if Arch Linux would get at least a basic /sbin/installkernel.
[1] well, I one create CI jobs for that, but well, writing and submitting that text already took way more time that expected :-/
Posted May 5, 2023 17:53 UTC (Fri)
by flussence (guest, #85566)
[Link] (2 responses)
Posted May 5, 2023 18:18 UTC (Fri)
by Wol (subscriber, #4433)
[Link] (1 responses)
Cheers,
Posted Jun 2, 2023 15:11 UTC (Fri)
by andy_shev (subscriber, #75870)
[Link]
Posted May 1, 2023 9:45 UTC (Mon)
by adobriyan (subscriber, #30858)
[Link] (1 responses)
It can't be _that_ bad. x86_64 allmodconfig is like 5 GiB?
Posted May 4, 2023 4:45 UTC (Thu)
by knurd (subscriber, #113424)
[Link]
Unless you have debug symbols enabled, then it IIRC a lot more. And they are (a) enabled in the .configs of many distro kernels (which will be the base in a lot of cases) and (b) something the user might or might not want. That's why the text further down below elaborates on that (and the implications for the required storage space) and ignores that in the TLDR.
If you have a idea how to handle that better I'm all ears.
Maybe the aspect "debug symbols" is important enough to be brought up in the TLDR in general. Not sure.
Posted May 3, 2023 2:01 UTC (Wed)
by gdt (subscriber, #6284)
[Link] (1 responses)
Could I also suggest that there could be a way for other modules and userspace to adjust the LEDs. It's common in networking for the port to show orange when LINK is seen but something is preventing packet forwarding (eg, spanning tree, remote end of LACP failing).
Posted May 4, 2023 3:09 UTC (Thu)
by florianfainelli (subscriber, #61952)
[Link]
6.4 Merge window, part 1
6.4 Merge window, part 1
6.4 Merge window, part 1
6.4 Merge window, part 1
6.4 Merge window, part 1
That's the windmill.
6.4 Merge window, part 1
6.4 Merge window, part 1
So I think you mean the retcon of the 32-bit variants to "aarch32"?
6.4 Merge window, part 1
6.4 Merge window, part 1
6.4 Merge window, part 1
6.4 Merge window, part 1
6.4 Merge window, part 1
Wol
6.4 Merge window, part 1
6.4 Merge window, part 1
6.4 Merge window, part 1
> It can't be _that_ bad. x86_64 allmodconfig is like 5 GiB?
6.4 Merge window, part 1
6.4 Merge window, part 1