CVE-2024-42315

exfat: fix potential deadlock on __exfat_get_dentry_set

State
Published
Severity
Not scored
Published
Aug 17, 2024
Updated
May 23, 2026
Reserved
Jul 30, 2024

Read the record on cve.org

Description

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

exfat: fix potential deadlock on __exfat_get_dentry_set

When accessing a file with more entries than ES_MAX_ENTRY_NUM, the bh-array is allocated in __exfat_get_entry_set. The problem is that the bh-array is allocated with GFP_KERNEL. It does not make sense. In the following cases, a deadlock for sbi->s_lock between the two processes may occur.

CPU0 CPU1 ---- ---- kswapd balance_pgdat lock(fs_reclaim) exfat_iterate lock(&sbi->s_lock) exfat_readdir exfat_get_uniname_from_ext_entry exfat_get_dentry_set __exfat_get_dentry_set kmalloc_array ... lock(fs_reclaim) ... evict exfat_evict_inode lock(&sbi->s_lock)

To fix this, let's allocate bh-array with GFP_NOFS.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • bd3bdb9e0d656f760b11d0c638d35d7f7068144d to before 632fb232b6bbf8277edcbe9ecd4b4d98ecb122ebAffected
  • 92dcd7d6c6068bf4fd35a6f64d606e27d634807e to before c052f775ee6ccacd3c97e4cf41a2a657e63d4259Affected
  • d8fe01ad2d8ab33aaf8f2efad9e8f1dae11c4b0c to before cd1c7858641384191ff7033fb1fc65dfcd559c6fAffected
  • a3ff29a95fde16906304455aa8c0bd84eb770258 to before a7ac198f8dba791e3144c4da48a5a9b95773ee4bAffected
  • a3ff29a95fde16906304455aa8c0bd84eb770258 to before 1d1970493c289e3f44b9ec847ed26a5dbdf56a62Affected
  • a3ff29a95fde16906304455aa8c0bd84eb770258 to before 89fc548767a2155231128cb98726d6d2ea1256c9Affected
  • 5.10.190 to before 5.10.232Affected
  • 5.15.150 to before 5.15.175Affected
LinuxLinux
  • 6.2Affected
  • before 6.2Not affected
  • 5.10.232 through 5.10.*Not affected
  • 5.15.175 through 5.15.*Not affected
  • 6.6.44 through 6.6.*Not affected
  • 6.10.3 through 6.10.*Not affected
  • 6.11 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.