In the Linux kernel, the following vulnerability has been resolved:
ext4: fix i_disksize exceeding i_size problem in paritally written case
It is possible for i_disksize can exceed i_size, triggering a warning.
generic_perform_write copied = iov_iter_copy_from_user_atomic(len) // copied < len ext4_da_write_end | ext4_update_i_disksize | new_i_size = pos + copied; | WRITE_ONCE(EXT4_I(inode)->i_disksize, newsize) // update i_disksize | generic_write_end | copied = block_write_end(copied, len) // copied = 0 | if (unlikely(copied < len)) | if (!PageUptodate(page)) | copied = 0; | if (pos + copied > inode->i_size) // return false if (unlikely(copied == 0)) goto again; if (unlikely(iov_iter_fault_in_readable(i, bytes))) { status = -EFAULT; break; }
We get i_disksize greater than i_size here, which could trigger WARNING check 'i_size_read(inode) < EXT4_I(inode)->i_disksize' while doing dio:
ext4_dio_write_iter iomap_dio_rw __iomap_dio_rw // return err, length is not aligned to 512 ext4_handle_inode_extension WARN_ON_ONCE(i_size_read(inode) < EXT4_I(inode)->i_disksize) // Oops
WARNING: CPU: 2 PID: 2609 at fs/ext4/file.c:319 CPU: 2 PID: 2609 Comm: aa Not tainted 6.3.0-rc2 RIP: 0010:ext4_file_write_iter+0xbc7 Call Trace: vfs_write+0x3b1 ksys_write+0x77 do_syscall_64+0x39
Fix it by updating 'copied' value before updating i_disksize just like ext4_write_inline_data_end() does.
A reproducer can be found in the buganizer link below.
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade kernel-debuginfoUpgrade kernel-develUpgrade perf-debuginfoUpgrade bpftool-debuginfoUpgrade python-perf-debuginfoUpgrade kernel-headersUpgrade perfUpgrade kernel-tools-debuginfoUpgrade kernel-tools-develUpgrade kernel-livepatch-5.15.117-72.142Upgrade kernel-toolsUpgrade kernel-debuginfo-common-aarch64Upgrade python-perfUpgrade kernelUpgrade kernel-debuginfo-common-x86_64Upgrade bpftool | May 20, 2026 | May 20, 2026 |
| Amazon_linux_2023 | — | Upgrade kernel-headersUpgrade perf-debuginfoUpgrade kernel-libbpf-develUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-toolsUpgrade kernelUpgrade kernel-debuginfoUpgrade python3-perf-debuginfoUpgrade perfUpgrade kernel-tools-develUpgrade python3-perfUpgrade kernel-tools-debuginfoUpgrade kernel-livepatch-6.1.29-47.49Upgrade kernel-libbpfUpgrade kernel-develUpgrade bpftool-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-libbpf-staticUpgrade bpftool | Sep 30, 2025 | Sep 16, 2025 |
| Debian | — | Upgrade linux | Sep 17, 2025 | Sep 17, 2025 |
| Huawei Euleros 2_0_sp13 | — | Upgrade kernel-tools-libsUpgrade kernel-abi-stablelistsUpgrade kernelUpgrade bpftoolUpgrade python3-perfUpgrade kernel-tools | Dec 12, 2025 | Dec 11, 2025 |
| Redhat_linux | — | No solution existsUpgrade kernelUpgrade kernel-rt | Nov 14, 2025 | Sep 16, 2025 |
| Ubuntu | — | Upgrade linux-kvmUpgrade linux-azure-5.15Upgrade linux-riscv-5.15Upgrade linux-gcp-5.15Upgrade linux-aws-5.15Upgrade linux-intel-iotg-5.15Upgrade linux-hwe-5.15Upgrade linux-realtimeUpgrade linux-oracle-5.15Upgrade linux-xilinx-zynqmpUpgrade linux-raspiUpgrade linux-nvidiaUpgrade linux-bluefieldUpgrade linux-ibmUpgrade linux-azureUpgrade linux-lowlatency-hwe-5.15Upgrade linux-oracleUpgrade linux-azure-fdeUpgrade linux-intel-iotgUpgrade linux-gkeUpgrade linux-ibm-5.15Upgrade linux-intel-iot-realtimeUpgrade linux-nvidia-tegraUpgrade linux-gkeopUpgrade linux-gcpUpgrade linuxUpgrade linux-awsUpgrade linux-nvidia-tegra-igxUpgrade linux-nvidia-tegra-5.15Upgrade linux-lowlatency | Sep 19, 2025 | Sep 16, 2025 |
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub