Description
In the Linux kernel, the following vulnerability has been resolved:
btrfs: fix zero size inode with non-zero size after log replay
When logging that an inode exists, as part of logging a new name or
logging new dir entries for a directory, we always set the generation of
the logged inode item to 0. This is to signal during log replay (in
overwrite_item()), that we should not set the i_size since we only logged
that an inode exists, so the i_size of the inode in the subvolume tree
must be preserved (as when we log new names or that an inode exists, we
don't log extents).
This works fine except when we have already logged an inode in full mode
or it's the first time we are logging an inode created in a past
transaction, that inode has a new i_size of 0 and then we log a new name
for the inode (due to a new hardlink or a rename), in which case we log
an i_size of 0 for the inode and a generation of 0, which causes the log
replay code to not update the inode's i_size to 0 (in overwrite_item()).
An example scenario:
mkdir /mnt/dir
xfs_io -f -c "pwrite 0 64K" /mnt/dir/foo
sync
xfs_io -c "truncate 0" -c "fsync" /mnt/dir/foo
ln /mnt/dir/foo /mnt/dir/bar
xfs_io -c "fsync" /mnt/dir
<power fail>
After log replay the file remains with a size of 64K. This is because when
we first log the inode, when we fsync file foo, we log its current i_size
of 0, and then when we create a hard link we log again the inode in exists
mode (LOG_INODE_EXISTS) but we set a generation of 0 for the inode item we
add to the log tree, so during log replay overwrite_item() sees that the
generation is 0 and i_size is 0 so we skip updating the inode's i_size
from 64K to 0.
Fix this by making sure at fill_inode_item() we always log the real
generation of the inode if it was logged in the current transaction with
the i_size we logged before. Also if an inode created in a previous
transaction is logged in exists mode only, make sure we log the i_size
stored in the inode item located from the commit root, so that if we log
multiple times that the inode exists we get the correct i_size.
A test case for fstests will follow soon.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 2.6.30 | 6.1.191 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | linux | 6.19.14-1 | — |
| Debian 13 | linux | 6.12.115-2 | — |
| Debian 12 | linux | No fix yet | — |
| Debian 12 | linux-6.12 | 6.12.115-2~deb12u1 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Nvidia-BlueField 24.04 LTS | linux-bluefield | No fix yet | — |
| Ubuntu Nvidia-BlueField 22.04 LTS | linux-bluefield | No fix yet | — |
| Ubuntu 25.10 | linux +8 | No fix yet | — |
| Ubuntu 24.04 LTS | linux +44 | No fix yet | — |
| Ubuntu 22.04 LTS | linux +59 | No fix yet | — |
Show 18 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 20.04 LTS | linux-gke +28 | No fix yet | — |
| Ubuntu 18.04 LTS | linux-gcp +14 | No fix yet | — |
| Ubuntu 16.04 LTS | linux-hwe-edge | No fix yet | — |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime +3 | No fix yet | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime +2 | No fix yet | — |
| Ubuntu Pro FIPS 20.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro FIPS 18.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro FIPS 16.04 LTS | linux-fips | No fix yet | — |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro FIPS-updates 20.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro FIPS-updates 18.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro FIPS-updates 16.04 LTS | linux-fips | No fix yet | — |
| Ubuntu Pro FIPS-preview 22.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro 20.04 LTS | linux +21 | No fix yet | — |
| Ubuntu Pro 18.04 LTS | linux +12 | No fix yet | — |
| Ubuntu Pro 16.04 LTS | linux +7 | No fix yet | — |
| Ubuntu Pro 14.04 LTS | linux +3 | No fix yet | — |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP7 | kernel-64kb +4 | 6.4.0-150700.53.73.2 | SUSE-SU-2026:3166-1 |
| SLES 15 SP7 | kernel-default-base | 6.4.0-150700.53.73.2.150700.17.41.4 | SUSE-SU-2026:3166-1 |
| SLES 15 SP7 | kernel-docs +2 | 6.4.0-150700.53.73.1 | SUSE-SU-2026:3166-1 |
Show 7 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES for SAP 16.0 | kernel-64kb +8 | 6.12.0-160000.37.1 | SUSE-SU-2026:23231-1, SUSE-SU-2026:23221-1 |
| SLES for SAP 16.0 | kernel-default-base | 6.12.0-160000.37.1.160000.2.19 | SUSE-SU-2026:23231-1, SUSE-SU-2026:23221-1 |
| SLES 16.0 | kernel-64kb +8 | 6.12.0-160000.37.1 | SUSE-SU-2026:23237-1, SUSE-SU-2026:23231-1, SUSE-SU-2026:23221-1 |
| SLES 16.0 | kernel-default-base | 6.12.0-160000.37.1.160000.2.19 | SUSE-SU-2026:23231-1, SUSE-SU-2026:23221-1 |
| SLE Micro 6.2 | kernel-default-base | 6.12.0-160000.37.1.160000.2.19 | SUSE-SU-2026:23068-1 |
| SLE Micro 6.2 | kernel-rt +5 | 6.12.0-160000.37.1 | SUSE-SU-2026:23068-1, SUSE-SU-2026:23066-1 |
| SLE Micro 6.1 | kernel-rt +4 | 6.4.0-51.1 | SUSE-SU-2026:23194-1, SUSE-SU-2026:23193-1 |
| SLE Micro 6.0 | kernel-rt +4 | 6.4.0-51.1 | SUSE-SU-2026:23244-1, SUSE-SU-2026:23241-1 |
| SLE Live Patching 15 SP7 | kernel-default | 6.4.0-150700.53.73.2 | SUSE-SU-2026:3166-1 |
| SLE Live Patching 15 SP7 | kernel-livepatch-SLE15-SP7-RT_Update_18 | 1-150700.1.5.1 | SUSE-SU-2026:3130-1 |
| SLE Live Patching 15 SP7 | kernel-livepatch-SLE15-SP7_Update_19 | 1-150700.15.3.4 | SUSE-SU-2026:3166-1 |
| SUSE Real Time Module 15 SP7 | kernel-rt +2 | 6.4.0-150700.7.67.1 | SUSE-SU-2026:3130-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Leap 16.0 | kernel-default-base | 6.12.0-160000.37.1.160000.2.19 | openSUSE-SU-2026:21555-1 |
| openSUSE Leap 16.0 | kernel-rt +11 | 6.12.0-160000.37.1 | openSUSE-SU-2026:21555-1 |
Amazon Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Amazon Linux 2023 | kernel-livepatch-6.18.25-55.108 | 1:1.0-0.amzn2023 | ALAS2023-2026-1693 |
| Amazon Linux 2023 | perf6.18 +11 | 1:6.18.25-55.108.amzn2023 | ALAS2023-2026-1693 |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 3 | kernel | No fix yet | — |
Advisories 14
- WID-SEC-2026-1385 Linux Kernel: Mehrere Schwachstellen BSI CERT-Bund (WID) · Nov 12, 2026
- SUSE-SU-2026:23244-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Aug 27, 2026
- SUSE-SU-2026:23237-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Aug 27, 2026
- SUSE-SU-2026:23241-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Aug 27, 2026
- SUSE-SU-2026:23231-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Aug 27, 2026
- SUSE-SU-2026:23221-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Aug 27, 2026
- SUSE-SU-2026:23193-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Aug 26, 2026
- SUSE-SU-2026:23194-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Aug 26, 2026
- SUSE-SU-2026:23066-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Aug 15, 2026
- SUSE-SU-2026:23068-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Aug 15, 2026
- openSUSE-SU-2026:21555-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Aug 12, 2026
- SUSE-SU-2026:3166-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Jul 22, 2026
- SUSE-SU-2026:3130-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Jul 21, 2026
- ALAS2023-2026-1693 Important: kernel6.18 security update (Amazon Linux 2023) Amazon Linux Security Center (ALAS) · May 19, 2026
References
- https://git.kernel.org/stable/c/126999610eddeb1de3b47680585f4bc9531dc7f4
- https://git.kernel.org/stable/c/c939bfa67d221f75351a5bf2fc912e8125547b7e
- https://git.kernel.org/stable/c/91990732ec4ce5c09361d498c6d621f5a76ee1f2
- https://git.kernel.org/stable/c/fddb157536e67a055597f00a8b4922d5f5ed0826
- https://git.kernel.org/stable/c/03e966b63df5b06790310c1faaf3e0cb43adea8b
- https://git.kernel.org/stable/c/5254d4181add9dfaa5e3519edd71cc8f752b2f85