Linus Torvalds has announced the release of the first release candidate for Linux kernel 6.4.
Linux Kernel 6.4-rc1
So here we are, two weeks later, with the merge window over, and -rc1 tagged and pushed out.
Things look pretty normal - the only somewhat unusual thing for me personally was that we had two different pull requests that ended up with me doing my own little series of updates on top.
So both the ITER_UBUF update from Jens, and the x86 LAM support from Dave Hansen (really Kirill, but I see the pull from Dave) caused me to do some extra x86 user access cleanups.
The reason I mention that isn't so much "oh, I got to code a bit again", but that this actually caused me to *finally* switch to a more modern default 'git diff' algorithm. The default git diff algorithm is the very traditional one (aka 'Myers algorithm'), and while it works just fine, there's been various heuristics updates to make for nicer diffs by default.
So I'm now using the 'histogram' algorithm, that takes the "uniqueness" of a line into account when deciding on longest common subsequence, because some of my patches were just an unreadable mess with the plain Myers diff. Not that histogram always helps, but it does often make things more legible.
Now, this shouldn't really impact anybody else, and I know some people were already using either the patience of histogram algorithms, but I mention it because it does occasionally cause line number differences in the diffstats, and thus affects the pull-request output.
I'm already used to small differences, but *if* you send me pull requests, this does mean that it might be just slightly easier on me if you follow my lead on picking a diff algorithm, and do
git config diff.algorithm histogram
in your kernel tree. Or, if you find that you prefer it over-all, maybe add "--global" there to do it in your main gitconfig to affect all your trees.
[ Or just edit your .gitconfig files manually, it's actually what I do, but when telling others "you might want to do this", it's simpler to just give the "git config" command line ]
Anyway, this is absolutely *not* a requirement, and honestly, in 95% of all cases it probably won't even change the diff output at all. But I thought I might just mention it to make people aware (and to maybe minimize the number of pull requests where I go "ok, let's figure out why my end result isn't exactly the same as the one in the PR").
As to the actual changes in this merge window: the mergelog below gives the high-level view. The diffstat is completely dominated by AMD GPU hardware description files once again, and this time the 'perf' tool has followed suite, and so the other big area ends up being all the perf event JSON file descriptions. Ugh.
But if you ignore those two "massive, but uninteresting" parts of the changes, everything else looks fairly normal. Lots of development all over, with "that's interesting" mainly depending on the reader. Drivers, architecture updates, filesystems, networking, memory management - there's a bit of everything.
The one feature that didn't make it was the x86 shadow stack code. That side was probably a bit unlucky, in that it came in as I was looking at x86 issues anyway, and so I looked at it quite a bit, and had enough reservations that I asked for a couple of fairly big re-organizations.
We'll get to that at a later date, possibly the next release.
Anyway, please do go test it all out,
Linus
Change log
Al Viro (5):
vfs fget updates
vfs write_one_page removal
legacy dio cleanup
misc vfs pile
trivial nios2 cleanup
Alex Williamson (1):
VFIO updates
Alexandre Belloni (2):
i3c updates
RTC updates
Andreas Gruenbacher (1):
gfs2 updates
Andrew Morton (6):
MM updates
non-MM updates
more MM updates
hotfixes
dmapool updates - again
Anna Schumaker (1):
NFS client updates
Ard Biesheuvel (1):
EFI updates
Arnaldo Carvalho de Melo (1):
perf tool updates
Arnd Bergmann (5):
ARM SoC updates
ARM SoC driver updates
ARM SoC defconfig updates
ARM SoC devicetree updates
asm-generic updates
Bartosz Golaszewski (1):
gpio updates
Bjorn Andersson (2):
rpmsg updates
remoteproc updates
Bjorn Helgaas (1):
pci updates
Borislav Petkov (8):
EDAC updates
RAS updates
x86 ACPI update
x86 cpu model updates
misc x86 updates
x86 paravirt updates
x86 SEV updates
x86 cleanups
Casey Schaufler (1):
smack updates
Christian Brauner (6):
clone3 selftest fix
user work thread updates
pidfd updates
acl updates
misc vfs updates
vfs open fixlet
Christoph Hellwig (1):
dma-mapping updates
Chuck Lever (1):
nfsd updates
Corey Minyard (1):
IPMI updates
Damien Le Moal (1):
ata updates
Dan Williams (1):
compute express link updates
Darrick Wong (1):
iomap updates
Dave Airlie (3):
drm updates
drm fixes
more drm fixes
Dave Chinner (1):
xfs updates
Dave Hansen (4):
x86 resctrl update
x86 fpu updates
x86 tdx update
x86 LAM (Linear Address Masking) support
David Howells (1):
AFS updates
David Sterba (1):
btrfs updates
David Teigland (1):
dlm updates
Dipen Patel (1):
hardware timestamp engine updates
Dmitry Torokhov (1):
input updates
Eric Biggers (2):
fscrypt updates
fsverity updates
Eric Van Hensbergen (1):
9p updates
Gao Xiang (1):
erofs updates
Geert Uytterhoeven (1):
m68k updates
Greg KH (5):
USB / Thunderbolt updates
tty / serial updates
staging driver updates
driver core updates
char/misc drivers updates
Greg Ungerer (1):
m68knommu updates
Guenter Roeck (1):
hwmon updates
Guo Ren (1):
arch/csky updates
Gustavo Silva (1):
flexible-array updates
Hans de Goede (1):
x86 platform driver updates
Helge Deller (2):
fbdev updates
parisc updates
Herbert Xu (2):
crypto updates
crypto fixes
Huacai Chen (1):
LoongArch updates
Ilya Dryomov (1):
ceph updates
Ingo Molnar (5):
objtool updates
perf updates
scheduler updates
SMP cross-CPU function-call updates
locking updates
Jaegeuk Kim (1):
f2fs update
Jakub Kicinski (1):
networking fixes
James Bottomley (2):
SCSI updates
more SCSI updates
Jan Kara (1):
ext2, reiserfs, udf, and quota updates
Jarkko Sakkinen (2):
tpm updates
tpm fix
Jason Gunthorpe (2):
iommufd updates
rdma updates
Jassi Brar (1):
mailbox updates
Jens Axboe (6):
ITER_UBUF updates
io_uring updates
block updates
nonblocking pipe io_uring support
more block updates
more io_uring updates
Jiri Kosina (1):
HID updates
Joel Fernandes (1):
RCU updates
Joerg Roedel (1):
iommu updates
John Paul Adrian Glaubitz (1):
sh updates
Jonathan Corbet (2):
documentation updates
more documentation updates
Juergen Gross (1):
xen updates
Kees Cook (2):
hardening update
pstore update
Konstantin Komarov (1):
ntfs3 updates
Lee Jones (3):
LED updates
MFD updates
backlight updates
Linus Walleij (1):
pin control updates
Luis Chamberlain (4):
module updates
sysctl updates
more sysctl updates
modules fix
Mark Brown (4):
regmap updates
regulator updates
spi updates
regulator fix
Masahiro Yamada (1):
Kbuild updates
Mauro Carvalho Chehab (1):
media updates
Michael Ellerman (1):
powerpc updates
Michael Tsirkin (1):
virtio updates
Mickaël Salaün (1):
landlock update
Miguel Ojeda (1):
rust updates
Mike Snitzer (1):
device mapper updates
Mimi Zohar (1):
integrity update
Miquel Raynal (1):
mtd updates
Palmer Dabbelt (2):
RISC-V updates
more RISC-V updates
Paolo Abeni (1):
networking updates
Paolo Bonzini (2):
kvm updates
more kvm updates
Paul McKenney (5):
KCSAN updates
Linux Kernel Memory Model scripting updates
locktorture updates
nolibc updates
Linux Kernel Memory Model updates
Paul Moore (3):
selinux updates
lsm updates
lsm fix
Petr Mladek (2):
printk updates
livepatching updates
Rafael Wysocki (8):
thermal control updates
ACPI updates
power management updates
more thermal control updates
more ACPI updates
more power management updates
thermal control fixes
ACPI fix
Richard Weinberger (2):
UBI and UBIFS updates
uml updates
Rob Herring (3):
devicetree updates
more devicetree updates
devicetree fixes
Russell King (1):
ARM development updates
Sebastian Reichel (1):
power supply and reset updates
Shuah Khan (2):
Kselftest updates
KUnit updates
Stafford Horne (1):
OpenRISC updates
Stephen Boyd (2):
clk updates
clk fixes
Steve French (4):
ksmbd server updates
cifs fixes
ksmbd server fixes
cifs fixes
Steven Rostedt (3):
tracing updates
tracing tools updates
more tracing updates
Takashi Iwai (2):
sound updates
sound fixes
Takashi Sakamoto (1):
firewire updates
Ted Ts'o (2):
ext4 updates
ext4 fixes
Tejun Heo (2):
workqueue updates
cgroup updates
Tetsuo Handa (1):
tomoyo update
Thierry Reding (1):
pwm updates
Thomas Bogendoerfer (1):
MIPS updates
Thomas Gleixner (7):
core debugobjects update
core entry/ptrace update
interrupt updates
timers and timekeeping updates
x86 APIC updates
more timer updates
debugobjects fix
Tzung-Bi Shih (1):
chrome platform updates
Ulf Hansson (1):
MMC updates
Vasily Gorbik (1):
s390 updates
Vinod Koul (4):
dmaengine updates
phy updates
soundwire updates
phy fixes
Vlastimil Babka (1):
slab updates
Wei Liu (1):
hyperv updates
Will Deacon (2):
arm64 updates
arm64 fixes
Wim Van Sebroeck (1):
watchdog updates
Wolfram Sang (2):
i2c updates
more i2c updates