|
|
Subscribe / Log in / New account

6.4 Merge window, part 1

By Jonathan Corbet
April 28, 2023
As of this writing, nearly 7,500 non-merge changesets have been pulled into the mainline repository for the 6.4 kernel release. The 6.4 merge window is thus clearly off and running, with a number of significant changes merged already. Read on for a summary of the most significant pulled so far.

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

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
KernelReleases/6.4


to post comments

6.4 Merge window, part 1

Posted Apr 29, 2023 3:56 UTC (Sat) by alison (subscriber, #63752) [Link] (6 responses)

I was surprised to see "Freescale i.MX8" rather than "NXP," but a count of files in the kernel shows that the older name still predominates. Clearly renaming directories currently called "freescale" to "nxp" would be awkward. 8 years after Freescale disappeared, newcomers may be increasingly puzzled. The solution embodied by the directory name "imx" looks like a good compromise. Assuredly Linux has solved this problem before? Maybe not given that we have crtc's, which are Cathode Ray Tube controllers, "Cathode Ray" having been J.J. Thomson's original name for the electron.

6.4 Merge window, part 1

Posted May 2, 2023 12:27 UTC (Tue) by g0hl1n (subscriber, #122974) [Link]

ACK, this may confuse some people. But renaming everything to nxp may do the same as IMHO it is awkward to let a "nxp" driver support some freescale hardware blocks which has no "nxp reference" in their name (e.g. FEC - Freescale Fast Ethernet Controller, which is still present in i.MX6&8).

Furthermore the term "imx" may also be confusing due to Sony devices having "imx" drivers (imaging sensors) in the kernel.

6.4 Merge window, part 1

Posted May 5, 2023 17:39 UTC (Fri) by flussence (guest, #85566) [Link] (4 responses)

We're probably stuck with this forever. See also: ARM's attempts to retcon their 64-bit chips to "aarch64", and just this week I witnessed a whole support forum thread of people calling a pcie graphics card from this decade "ATI".

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.

6.4 Merge window, part 1

Posted May 5, 2023 18:37 UTC (Fri) by sfeam (subscriber, #2841) [Link] (2 responses)

Now you have got me intrigued. I have been using KDE as my desktop for decades, yet this is the first I am hearing about any windmills or anyone tilting at them with regard to the name. Who is trying to make who else use (or not use?) the name KDE for what? I there is such a campaign, it has been invisible from where I sit as a desktop user.

6.4 Merge window, part 1

Posted May 5, 2023 21:21 UTC (Fri) by zdzichu (subscriber, #17118) [Link] (1 responses)

No you weren't. You've been using Plasma desktop environment. KDE is not a desktop env, it is a community producing Plasma desktop (along other things).
That's the windmill.

6.4 Merge window, part 1

Posted May 5, 2023 22:41 UTC (Fri) by sfeam (subscriber, #2841) [Link]

Meh. At the time I stated using it, KDE self-labeled as a desktop environment. It continued to do so for the first decade or so I used it. In fact it still does. The kde.org web site is scattered with references to the "KDE Desktop Environment". The "plasma" name is a relatively recent rebranding of the screen management layer that came in with KDE4. I don't really care what they call that layer. Maybe the next KDE version will call it something else, but I'll bet you they still call the whole shebang "KDE".

6.4 Merge window, part 1

Posted May 8, 2023 7:34 UTC (Mon) by geert (subscriber, #98403) [Link]

Wasn't arm64 called "aarch64" by ARM from the beginning?
So I think you mean the retcon of the 32-bit variants to "aarch32"?

6.4 Merge window, part 1

Posted Apr 30, 2023 8:46 UTC (Sun) by jtepe (subscriber, #145026) [Link] (7 responses)

Thank you Thorsten Leemhuis for expanding the documentation with a tutorial on how to build a kernel these days!

6.4 Merge window, part 1

Posted Apr 30, 2023 11:09 UTC (Sun) by andy_shev (subscriber, #75870) [Link] (4 responses)

+1 here. Very useful piece of doc!

6.4 Merge window, part 1

Posted May 4, 2023 4:52 UTC (Thu) by knurd (subscriber, #113424) [Link] (3 responses)

Thx, feels good to hear that, as writing it was really a lot of work.

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

6.4 Merge window, part 1

Posted May 5, 2023 17:53 UTC (Fri) by flussence (guest, #85566) [Link] (2 responses)

Thanks for mentioning O= in there. I remain perpetually mortified at distros (gentoo) that populate /usr/src/linux through the package manager and then give users detailed footguns on how to make a mess of the directory tree, by hand, as root.

6.4 Merge window, part 1

Posted May 5, 2023 18:18 UTC (Fri) by Wol (subscriber, #4433) [Link] (1 responses)

What's wrong with /usr/src/linux? And so what if it gets all messed up? It just gets deleted as the kernel moves on ...

Cheers,
Wol

6.4 Merge window, part 1

Posted Jun 2, 2023 15:11 UTC (Fri) by andy_shev (subscriber, #75870) [Link]

Everything I suppose? To begin with requirement of root access to it, having it readonly in advanced configurations...

6.4 Merge window, part 1

Posted May 1, 2023 9:45 UTC (Mon) by adobriyan (subscriber, #30858) [Link] (1 responses)

> make sure to have 12 Gigabyte free space in your home directory

It can't be _that_ bad. x86_64 allmodconfig is like 5 GiB?

6.4 Merge window, part 1

Posted May 4, 2023 4:45 UTC (Thu) by knurd (subscriber, #113424) [Link]

>> make sure to have 12 Gigabyte free space in your home directory
> It can't be _that_ bad. x86_64 allmodconfig is like 5 GiB?

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.

6.4 Merge window, part 1

Posted May 3, 2023 2:01 UTC (Wed) by gdt (subscriber, #6284) [Link] (1 responses)

The switch blinkenlite patch seems to not have the ability for userspace to read the LED status, even when the LED is entirely software controlled. It would be operationally useful to be able to read the LEDs on the ethernet ports where that is possible.

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).

6.4 Merge window, part 1

Posted May 4, 2023 3:09 UTC (Thu) by florianfainelli (subscriber, #61952) [Link]


Copyright © 2023, 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