In the Linux kernel, the following vulnerability has been resolved:
fs/erofs/fileio: call erofs_onlinefolio_split() after bio_add_folio()
If bio_add_folio() fails (because it is full), erofs_fileio_scan_folio() needs to submit the I/O request via erofs_fileio_rq_submit() and allocate a new I/O request with an empty `struct bio`. Then it retries the bio_add_folio() call.
However, at this point, erofs_onlinefolio_split() has already been called which increments `folio->private`; the retry will call erofs_onlinefolio_split() again, but there will never be a matching erofs_onlinefolio_end() call. This leaves the folio locked forever and all waiters will be stuck in folio_wait_bit_common().
This bug has been added by commit ce63cb62d794 ("erofs: support unencoded inodes for fileio"), but was practically unreachable because there was room for 256 folios in the `struct bio` - until commit 9f74ae8c9ac9 ("erofs: shorten bvecs[] for file-backed mounts") which reduced the array capacity to 16 folios.
It was now trivial to trigger the bug by manually invoking readahead from userspace, e.g.:
posix_fadvise(fd, 0, st.st_size, POSIX_FADV_WILLNEED);
This should be fixed by invoking erofs_onlinefolio_split() only after bio_add_folio() has succeeded. This is safe: asynchronous completions invoking erofs_onlinefolio_end() will not unlock the folio because erofs_fileio_scan_folio() is still holding a reference to be released by erofs_onlinefolio_end() at the end.
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon_linux_2023 | — | Upgrade kernel6.12Upgrade kernel6.12-debuginfo-common-x86_64Upgrade kernel-libbpfUpgrade perf6.12-debuginfoUpgrade kernel-tools-develUpgrade kernel-libbpf-staticUpgrade python3-perf6.12Upgrade bpftoolUpgrade kernel-libbpf-debuginfoUpgrade kernel-develUpgrade kernel-tools-debuginfoUpgrade kernel-libbpf-develUpgrade kernel6.12-debuginfo-common-aarch64Upgrade kernel-headersUpgrade kernel6.12-modules-extraUpgrade kernel-toolsUpgrade python3-perf6.12-debuginfoUpgrade kernel6.12-debuginfoUpgrade kernel-livepatch-6.12.29-33.102Upgrade perf6.12Upgrade bpftool-debuginfoUpgrade kernel-modules-extra-common | Sep 9, 2025 | May 29, 2025 |
| Debian | — | Upgrade linux | Jul 23, 2026 | Jul 23, 2026 |
| Suse | — | Upgrade kernel-devel-azureUpgrade kernel-macrosUpgrade kernel-source-azureUpgrade kernel-obs-qaUpgrade kernel-default-livepatchUpgrade kernel-azure-develUpgrade kernel-azure-vdsoUpgrade kernel-default-extraUpgrade kernel-kvmsmall-develUpgrade kernel-64kbUpgrade kernel-default-vdsoUpgrade kernel-default-develUpgrade kernel-kvmsmall-vdsoUpgrade kernel-kvmsmallUpgrade kernel-sourceUpgrade kernel-zfcpdumpUpgrade kernel-develUpgrade kernel-64kb-extraUpgrade kernel-64kb-develUpgrade kernel-azure-extraUpgrade kernel-docsUpgrade kernel-azureUpgrade kernel-docs-htmlUpgrade kernel-symsUpgrade kernel-defaultUpgrade kernel-source-vanilla | Dec 5, 2025 | Dec 5, 2025 |
| Ubuntu | — | Upgrade linux-image-oracle-64kUpgrade linux-image-raspiUpgrade linux-image-genericUpgrade linux-image-gcp-64k-6.14Upgrade linux-image-aws-64k-6.14Upgrade linux-image-gcp-6.14Upgrade linux-image-azure-6.14Upgrade linux-image-azureUpgrade linux-image-gcp-64kUpgrade linux-image-6.14.0-1012-raspiUpgrade linux-image-6.14.0-1011-oracleUpgrade linux-image-raspi-6.14Upgrade linux-image-oem-24.04aUpgrade linux-image-aws-6.14Upgrade linux-image-generic-6.14Upgrade linux-image-generic-64kUpgrade linux-image-virtual-6.14Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-oracle-64k-6.14Upgrade linux-image-realtime-6.14Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-aws-64kUpgrade linux-image-realtimeUpgrade linux-image-6.14.0-1011-aws-64kUpgrade linux-image-6.14.0-1010-oemUpgrade linux-image-6.14.0-1011-awsUpgrade linux-image-virtualUpgrade linux-image-generic-64k-6.14Upgrade linux-image-oracle-6.14Upgrade linux-image-6.14.0-1014-gcp-64kUpgrade linux-image-6.14.0-1014-gcpUpgrade linux-image-6.14.0-28-generic-64kUpgrade linux-image-6.14.0-1010-azureUpgrade linux-image-oem-6.14Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-oem-24.04cUpgrade linux-image-oracleUpgrade linux-image-awsUpgrade linux-image-gcpUpgrade linux-image-6.14.0-28-genericUpgrade linux-image-oem-24.04Upgrade linux-image-6.14.0-1010-realtimeUpgrade linux-image-6.14.0-1011-oracle-64k | Jun 26, 2025 | May 29, 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