Description
In the Linux kernel, the following vulnerability has been resolved:
f2fs: compress: fix to call f2fs_wait_on_page_writeback() in f2fs_write_raw_pages()
BUG_ON() will be triggered when writing files concurrently,
because the same page is writtenback multiple times.
1597 void folio_end_writeback(struct folio *folio)
1598 {
......
1618 if (!__folio_end_writeback(folio))
1619 BUG();
......
1625 }
kernel BUG at mm/filemap.c:1619!
Call Trace:
<TASK>
f2fs_write_end_io+0x1a0/0x370
blk_update_request+0x6c/0x410
blk_mq_end_request+0x15/0x130
blk_complete_reqs+0x3c/0x50
__do_softirq+0xb8/0x29b
? sort_range+0x20/0x20
run_ksoftirqd+0x19/0x20
smpboot_thread_fn+0x10b/0x1d0
kthread+0xde/0x110
? kthread_complete_and_exit+0x20/0x20
ret_from_fork+0x22/0x30
</TASK>
Below is the concurrency scenario:
[Process A] [Process B] [Process C]
f2fs_write_raw_pages()
- redirty_page_for_writepage()
- unlock page()
f2fs_do_write_data_page()
- lock_page()
- clear_page_dirty_for_io()
- set_page_writeback() [1st writeback]
.....
- unlock page()
generic_perform_write()
- f2fs_write_begin()
- wait_for_stable_page()
- f2fs_write_end()
- set_page_dirty()
- lock_page()
- f2fs_do_write_data_page()
- set_page_writeback() [2st writeback]
This problem was introduced by the previous commit 7377e853967b ("f2fs:
compress: fix potential deadlock of compress file"). All pagelocks were
released in f2fs_write_raw_pages(), but whether the page was
in the writeback state was ignored in the subsequent writing process.
Let's fix it by waiting for the page to writeback before writing.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 5.6 | 5.10.180 |
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.3.7-1 | — |
| Debian 13 | linux | 6.3.7-1 | — |
| Debian 12 | linux | 6.1.37-1 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Nvidia-BlueField 22.04 LTS | linux-bluefield | 5.15.0-1022.24 | — |
| Ubuntu 24.04 LTS | linux-riscv +10 | No fix yet | — |
| Ubuntu 22.04 LTS | linux | 5.15.0-79.86 | — |
| Ubuntu 22.04 LTS | linux-aws | 5.15.0-1042.47 | — |
| Ubuntu 22.04 LTS | linux-azure | 5.15.0-1045.52 | — |
| Ubuntu 22.04 LTS | linux-azure-fde | 5.15.0-1045.52.1 | — |
| Ubuntu 22.04 LTS | linux-gcp | 5.15.0-1039.47 | — |
| Ubuntu 22.04 LTS | linux-gke +1 | 5.15.0-1039.44 | — |
| Ubuntu 22.04 LTS | linux-gkeop | 5.15.0-1025.30 | — |
| Ubuntu 22.04 LTS | linux-ibm +1 | 5.15.0-1035.38 | — |
| Ubuntu 22.04 LTS | linux-intel-iotg | 5.15.0-1037.42 | — |
| Ubuntu 22.04 LTS | linux-lowlatency | 5.15.0-79.88 | — |
| Ubuntu 22.04 LTS | linux-nvidia | 5.15.0-1030.30 | — |
| Ubuntu 22.04 LTS | linux-nvidia-tegra | 5.15.0-1016.16 | — |
| Ubuntu 22.04 LTS | linux-nvidia-tegra-igx | 5.15.0-1002.2 | — |
| Ubuntu 22.04 LTS | linux-oracle | 5.15.0-1040.46 | — |
| Ubuntu 22.04 LTS | linux-riscv +32 | No fix yet | — |
| Ubuntu 22.04 LTS | linux-xilinx-zynqmp | 5.15.0-1025.29 | — |
| Ubuntu 20.04 LTS | linux-aws-5.15 | 5.15.0-1041.46~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-azure-5.15 | 5.15.0-1045.52~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-gcp-5.15 | 5.15.0-1039.47~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-gke +28 | No fix yet | — |
| Ubuntu 20.04 LTS | linux-hwe-5.15 | 5.15.0-79.86~20.04.2 | — |
| Ubuntu 20.04 LTS | linux-ibm-5.15 | 5.15.0-1036.39~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-intel-iotg-5.15 | 5.15.0-1037.42~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-lowlatency-hwe-5.15 | 5.15.0-79.88~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-nvidia-tegra-5.15 | 5.15.0-1016.16~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-oracle-5.15 | 5.15.0-1040.46~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-riscv-5.15 | 5.15.0-1038.42~20.04.2 | — |
| Ubuntu 18.04 LTS | linux-gcp +14 | No fix yet | — |
Show 3 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 16.04 LTS | linux-hwe-edge | No fix yet | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-intel-iot-realtime | 5.15.0-1036.38 | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime | 5.15.0-1043.48 | — |
| Ubuntu Pro FIPS-preview 22.04 LTS | linux-fips | No fix yet | — |
Advisories 1
- WID-SEC-2025-2929 Linux Kernel: Mehrere Schwachstellen BSI CERT-Bund (WID) · Nov 12, 2026
References
- https://git.kernel.org/stable/c/a8226a45b2a9ce83ba7a167a387a00fecc319e71
- https://git.kernel.org/stable/c/169134da419cb8ffbe3b0743bc24573e16952ea9
- https://git.kernel.org/stable/c/6604df2a9d07ba8f8fb1ac14046c2c83776faa4f
- https://git.kernel.org/stable/c/9940877c4fe752923a53f0f7372f2f152b6eccf0
- https://git.kernel.org/stable/c/ad31eed06c3b4d63b2d38322a271d4009aee4bb3
- https://git.kernel.org/stable/c/babedcbac164cec970872b8097401ca913a80e61