Skip to content
CVE PROGRAM SOURCE RECORDUnscored

CVE-2024-42315

exfat: fix potential deadlock on __exfat_get_dentry_set

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.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • bd3bdb9e0d656f760b11d0c638d35d7f7068144d to < 632fb232b6bbf8277edcbe9ecd4b4d98ecb122ebaffected
  • 92dcd7d6c6068bf4fd35a6f64d606e27d634807e to < c052f775ee6ccacd3c97e4cf41a2a657e63d4259affected
  • d8fe01ad2d8ab33aaf8f2efad9e8f1dae11c4b0c to < cd1c7858641384191ff7033fb1fc65dfcd559c6faffected
  • a3ff29a95fde16906304455aa8c0bd84eb770258 to < a7ac198f8dba791e3144c4da48a5a9b95773ee4baffected
  • a3ff29a95fde16906304455aa8c0bd84eb770258 to < 1d1970493c289e3f44b9ec847ed26a5dbdf56a62affected
  • a3ff29a95fde16906304455aa8c0bd84eb770258 to < 89fc548767a2155231128cb98726d6d2ea1256c9affected
  • 5.10.190 to < 5.10.232affected
  • 5.15.150 to < 5.15.175affected

Linux Linux

Default version status: affected

  • 6.2affected
  • 0 to < 6.2unaffected
  • 5.10.232 to ≤ 5.10.*unaffected
  • 5.15.175 to ≤ 5.15.*unaffected
  • 6.6.44 to ≤ 6.6.*unaffected
  • 6.10.3 to ≤ 6.10.*unaffected
  • 6.11 to ≤ *unaffected

References