CVE-2022-48635

fsdax: Fix infinite loop in dax_iomap_rw()

State
Published
Severity
6.2 Medium
Published
Apr 28, 2024
Updated
May 11, 2026
Reserved
Feb 25, 2024

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

fsdax: Fix infinite loop in dax_iomap_rw()

I got an infinite loop and a WARNING report when executing a tail command in virtiofs.

WARNING: CPU: 10 PID: 964 at fs/iomap/iter.c:34 iomap_iter+0x3a2/0x3d0 Modules linked in: CPU: 10 PID: 964 Comm: tail Not tainted 5.19.0-rc7 Call Trace: <TASK> dax_iomap_rw+0xea/0x620 ? __this_cpu_preempt_check+0x13/0x20 fuse_dax_read_iter+0x47/0x80 fuse_file_read_iter+0xae/0xd0 new_sync_read+0xfe/0x180 ? 0xffffffff81000000 vfs_read+0x14d/0x1a0 ksys_read+0x6d/0xf0 __x64_sys_read+0x1a/0x20 do_syscall_64+0x3b/0x90 entry_SYSCALL_64_after_hwframe+0x63/0xcd

The tail command will call read() with a count of 0. In this case, iomap_iter() will report this WARNING, and always return 1 which casuing the infinite loop in dax_iomap_rw().

Fixing by checking count whether is 0 in dax_iomap_rw().

Scores

CVSSScoreVectorSource
3.16.2 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HCISA-ADP

Weaknesses

  • CWE-835 Loop with Unreachable Exit Condition ('Infinite Loop')

Affected Products

ProductVersions
LinuxLinux
  • 8df4919cb921b28809d05feae3e98dc5d8b48146 to before 463f36137c40342fb03bba380c1bf703c40d89a6Affected
  • ca289e0b95afa973d204c77a4ad5c37e06145fbf to before 929ef155e1da41c06f4d8ca86ae12b851a83a744Affected
  • ca289e0b95afa973d204c77a4ad5c37e06145fbf to before 60644dffac87b1bb47bdb393aa29d5f2ffcf41a0Affected
  • ca289e0b95afa973d204c77a4ad5c37e06145fbf to before 17d9c15c9b9e7fb285f7ac5367dfb5f00ff575e3Affected
LinuxLinux
  • 5.15Affected
  • before 5.15Not affected
  • 5.15.71 through 5.15.*Not affected
  • 5.19.12 through 5.19.*Not affected
  • 6.0 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.