# CVE-2025-22127: linux: In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix potential deadloop in prepare_compress...

CVE-2025-22127 is fixed in 2 products on 1 platform, first by DEBIAN-CVE-2025-22127, released April 16, 2025. It is not reported as exploited. Patch Radar priority: Routine.

- Web page: https://patchblox.com/security/cve/CVE-2025-22127
- Priority: Routine
- CVSS: 5.5 (medium)
- EPSS: 0.0019
- CISA KEV: not listed
- Exploited (vendor report): no
- Publicly disclosed: no
- Published: Apr 16, 2025

## Description

In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix potential deadloop in prepare_compress_overwrite()  Jan Prusakowski reported a kernel hang issue as below:  When running xfstests on linux-next kernel (6.14.0-rc3, 6.12) I encountered a problem in generic/475 test where fsstress process gets blocked in __f2fs_write_data_pages() and the test hangs. The options I used are:  MKFS_OPTIONS  -- -O compression -O extra_attr -O project_quota -O quota /dev/vdc MOUNT_OPTIONS -- -o acl,user_xattr -o discard,compress_extension=* /dev/vdc /vdc  INFO: task kworker/u8:0:11 blocked for more than 122 seconds.       Not tainted 6.14.0-rc3-xfstests-lockdep #1 "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. task:kworker/u8:0    state:D stack:0     pid:11    tgid:11    ppid:2      task_flags:0x4208160 flags:0x00004000 Workqueue: writeback wb_workfn (flush-253:0) Call Trace:  <TASK>  __schedule+0x309/0x8e0  schedule+0x3a/0x100  schedule_preempt_disabled+0x15/0x30  __mutex_lock+0x59a/0xdb0  __f2fs_write_data_pages+0x3ac/0x400  do_writepages+0xe8/0x290  __writeback_single_inode+0x5c/0x360  writeback_sb_inodes+0x22f/0x570  wb_writeback+0xb0/0x410  wb_do_writeback+0x47/0x2f0  wb_workfn+0x5a/0x1c0  process_one_work+0x223/0x5b0  worker_thread+0x1d5/0x3c0  kthread+0xfd/0x230  ret_from_fork+0x31/0x50  ret_from_fork_asm+0x1a/0x30  </TASK>  The root cause is: once generic/475 starts toload error table to dm device, f2fs_prepare_compress_overwrite() will loop reading compressed cluster pages due to IO error, meanwhile it has held .writepages lock, it can block all other writeback tasks.  Let's fix this issue w/ below changes: - add f2fs_handle_page_eio() in prepare_compress_overwrite() to detect IO error. - detect cp_error earler in f2fs_read_multi_pages().

## Where it's fixed

| Platform | Product | Fixed in | Fix | Released |
|---|---|---|---|---|
| Linux | linux Debian 13.5 (trixie) | 6.12.111-1 | [DEBIAN-CVE-2025-22127](https://patchblox.com/security/data/fix/linux/debian-cve-2025-22127.md) | Apr 16, 2025 |
| Linux | linux Debian 14 | 6.16.3-1 | [DEBIAN-CVE-2025-22127](https://patchblox.com/security/data/fix/linux/debian-cve-2025-22127.md) | Apr 16, 2025 |
| Linux | linux-6.12 Debian 12.15 (bookworm) | 6.12.111-1~deb12u1 | [DEBIAN-CVE-2025-22127](https://patchblox.com/security/data/fix/linux/debian-cve-2025-22127.md) | Apr 16, 2025 |

---

Data as of 2026-11-09T01:18:40Z UTC. Source: Patchblox Patch Radar (https://patchblox.com/security/patch-radar). Patchblox finds out-of-date software on Windows, macOS and Linux and updates it through release rings: https://patchblox.com/demo

Free to use with attribution: show "Data: Patchblox Patch Radar" with a link to https://patchblox.com/security/patch-radar. Terms, including what needs a written agreement: https://patchblox.com/security/patch-radar/use-the-data

Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.
