The rest of the 6.10 merge window
Significant changes merged since the first-half summary include:
Architecture-specific
- 32-Bit Arm systems can now be built with Clang-based control-flow integrity.
- The PowerPC BPF JIT compiler now supports kfuncs.
- The RISC-V architecture has gained support for the Rust language.
Core kernel
- It is now possible to map tracing ring buffers directly into user space. See this merge message and this documentation commit for more information.
- An initial set of patches toward the eventual consolidation of hugetlbfs into the core memory-management subsystem has been merged; there should be no user-visible changes.
- The ntsync subsystem, which provides a set of Windows NT synchronization primitives for Linux, has been merged. It is, however, marked as "broken" for this release and cannot yet be used for its intended purpose.
- After a significant amount of discussion and change, the mseal() system call was merged as one of the final features for this development cycle. mseal() allows a process to forbid future changes to portions of its address space; the initial application is in the Chrome browser, which will use it to strengthen its internal sandboxing. More information can be found in this documentation commit.
Filesystems and block I/O
- There is a new netlink-based protocol for the control of the NFS server in the kernel; a new nfsdctl tool is said to be on its way into the nfs-utils package.
- The XFS filesystem continues to gain more online repair functionality.
- The filesystems in user space (FUSE) subsystem now supports integrity protection with fs-verity.
- The overlayfs filesystem is now able to create temporary files using the O_TMPFILE option.
Hardware support
- Clock: Sophgo CV1800 series SoCs clock controllers, STMicroelectronics stm32mp25x clocks, NXP i.MX95 BLK CTL clocks, and Epson RX8111 realtime clocks.
- Media: Broadcom BCM283x/BCM271x CSI-2 receivers and sixth-generation Intel image processing units.
- Miscellaneous: Acer Aspire 1 embedded controllers, Lenovo WMI camera buttons, ACPI Quickstart buttons, Lenovo Yoga Tablet 2 1380 fast chargers, Dell AIO UART backlight interfaces, MeeGoPad ANX7428 Type-C switches, Zhaoxin I2C interfaces, Lenovo SE10 watchdog timers, ARM MHUv3 mailbox controllers, Samsung HDMI PHYs, MediaTek 10GE SerDes XFI T-PHYs, and Rockchip USBDP COMBO PHY.
Miscellaneous
- The perf tool has, as usual, seen a lot of changes; details can be found in this merge message.
Networking
- The new IORING_CQE_F_SOCK_NONEMPTY operation for io_uring can be used to determine whether there are more connection requests waiting on a socket.
Security-related
- The Landlock security module is now able to apply policies to ioctl() calls; see this documentation commit for a bit more information.
- The new init_mlocked_on_free boot option will cause any memory that is locked into RAM with mlock() to be zeroed if (and only if) it is freed without having been first unlocked with munlock(). The purpose is to protect memory that may be holding cryptographic keys from being exposed after an application crash.
Internal kernel changes
- Developers may be unaware of the no_printk() macro. Its job is to do nothing, but to preserve printk() statements in the code should somebody need to restore them for future debugging purposes. In prior kernels, no_printk() still contributed indexing data to the kernel image, even though it printed nothing; that has been fixed for 6.10.
- Some changes to how memory for executable code in the kernel is allocated have made it possible to enable ftrace and kprobes without the need to enable loadable-module support.
- Work items in BH workqueues can now be enabled and disabled; with this change, it should be possible to convert all tasklet users over to the new mechanism.
- The (sometimes controversial) memory-allocation profiling subsystem has been merged; this should help developers optimize memory use and track down memory leaks. See this documentation commit for some more information.
- There are 371 more symbols exported to modules in 6.10, and 18 new kfuncs; see this page for the full list of changes.
If this development cycle follows the usual timeline (and they all do anymore), then the final 6.10 release will happen on July 14 or 21. Between now and then, though, there will be a need for a lot of testing and bug fixing.
[Note that LWN subscribers can find more information about the
contributions to 6.10-rc1 in the LWN kernel-source
database.]
Index entries for this article | |
---|---|
Kernel | Releases/6.10 |
Posted May 27, 2024 16:07 UTC (Mon)
by aszs (subscriber, #50252)
[Link] (22 responses)
Posted May 27, 2024 16:51 UTC (Mon)
by mussell (subscriber, #170320)
[Link]
Posted May 27, 2024 19:52 UTC (Mon)
by Cyberax (✭ supporter ✭, #52523)
[Link] (20 responses)
Posted May 27, 2024 22:13 UTC (Mon)
by aszs (subscriber, #50252)
[Link] (17 responses)
Posted May 28, 2024 0:34 UTC (Tue)
by Cyberax (✭ supporter ✭, #52523)
[Link] (16 responses)
Posted May 28, 2024 8:24 UTC (Tue)
by bluca (subscriber, #118303)
[Link] (15 responses)
Posted May 28, 2024 12:25 UTC (Tue)
by diegor (subscriber, #1967)
[Link]
Thanks.
Posted May 28, 2024 15:07 UTC (Tue)
by pbonzini (subscriber, #60935)
[Link] (13 responses)
Using libsystemd for the former is just laziness as things stand. As a copylib it makes more sense.
Posted May 28, 2024 16:13 UTC (Tue)
by bluca (subscriber, #118303)
[Link] (12 responses)
Posted May 28, 2024 16:42 UTC (Tue)
by Cyberax (✭ supporter ✭, #52523)
[Link]
Posted May 28, 2024 16:51 UTC (Tue)
by Cyberax (✭ supporter ✭, #52523)
[Link] (8 responses)
Posted May 28, 2024 17:55 UTC (Tue)
by daroc (editor, #160859)
[Link] (3 responses)
So let's please end this thread (and the related one with Lennart) here.
Posted May 28, 2024 20:24 UTC (Tue)
by Cyberax (✭ supporter ✭, #52523)
[Link] (2 responses)
libsystemd is certainly not the only offender, glibc with NSS and PAM modules is another example. But glibc is moving in the _opposite_ direction and has removed dynamically loaded libpthread.
And I don't think that the overall systemd design is in question here, just the libsystemd part. And for the record, I _love_ systemd infrastructure in general.
Posted May 28, 2024 20:49 UTC (Tue)
by daroc (editor, #160859)
[Link] (1 responses)
I definitely don't want to stop you an bluca from having an interesting conversation about the future of this technology and the systemd project. I do really like the details we get from discussions in the comments; I just wanted to try and prevent another heated argument like the one we had this past weekend. We ended up having to turn on comment moderation for that article, so perhaps I'm just being overly-sensitive to comment moderation right now.
Please do talk about how mseal() will or will not change things for systemd. Please don't get heated about it.
Posted May 28, 2024 20:51 UTC (Tue)
by daroc (editor, #160859)
[Link]
Posted May 28, 2024 17:56 UTC (Tue)
by bluca (subscriber, #118303)
[Link] (3 responses)
Posted May 28, 2024 20:14 UTC (Tue)
by Cyberax (✭ supporter ✭, #52523)
[Link] (2 responses)
Posted May 28, 2024 22:19 UTC (Tue)
by Wol (subscriber, #4433)
[Link] (1 responses)
Does this mean any attacker who manages to hijack my program, now has access to DBUS with my credentials?
Not that I understand DBUS in the slightest, but the less code there is in my programs that I don't understand, the happier I am.
And that is actually a real danger - if I'm clueless about DBUS (because I don't knowingly use it), then how am I supposed to defend myself against its misuse (and more to the point - why should I have to)?
Cheers,
Posted May 28, 2024 22:36 UTC (Tue)
by mjg59 (subscriber, #23239)
[Link]
Posted May 29, 2024 16:40 UTC (Wed)
by pbonzini (subscriber, #60935)
[Link] (1 responses)
I was referring basically to sd-daemon.h. Those are the only bits that are of interest to projects outside systemd. If you want to keep it as a .so, move everything else out of the way; but they shouldn't be in the same place as journal, D-BUS and everything else.
Posted May 29, 2024 16:51 UTC (Wed)
by bluca (subscriber, #118303)
[Link]
A quick search for 'sd_bus_message' on Github, excluding the systemd org, shows ~12700 results, and that's just one subset of one family of APIs, so I'm going to go with a big and fat <citation needed>
> If you want to keep it as a .so, move everything else out of the way
No
Posted May 28, 2024 14:30 UTC (Tue)
by mezcalero (subscriber, #45103)
[Link] (1 responses)
Anyway, would appreciate if you'd stop your uneducated FUD, not helpful.
Lennart
Posted May 28, 2024 16:50 UTC (Tue)
by Cyberax (✭ supporter ✭, #52523)
[Link]
As I understand, mseal() should prevent dlopen() from working? Is it not?
> Anyway, would appreciate if you'd stop your uneducated FUD, not helpful.
Introducing brittle workarounds for clearly specious reasons is not helpful either. You screwed up by turning libsystemd from a small 50kb library with utility functions into a large library with decompressors and DBUS implementation.
The rest of the 6.10 merge window
The rest of the 6.10 merge window
The rest of the 6.10 merge window
The rest of the 6.10 merge window
The rest of the 6.10 merge window
The rest of the 6.10 merge window
The rest of the 6.10 merge window
The rest of the 6.10 merge window
The rest of the 6.10 merge window
The rest of the 6.10 merge window
The rest of the 6.10 merge window
The rest of the 6.10 merge window
The rest of the 6.10 merge window
The rest of the 6.10 merge window
The rest of the 6.10 merge window
The rest of the 6.10 merge window
The rest of the 6.10 merge window
The rest of the 6.10 merge window
Wol
The rest of the 6.10 merge window
The rest of the 6.10 merge window
The rest of the 6.10 merge window
The rest of the 6.10 merge window
The rest of the 6.10 merge window