CVE-2024-42315

Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
17/08/2024
Last modified:
03/11/2025

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> exfat: fix potential deadlock on __exfat_get_dentry_set<br /> <br /> When accessing a file with more entries than ES_MAX_ENTRY_NUM, the bh-array<br /> is allocated in __exfat_get_entry_set. The problem is that the bh-array is<br /> allocated with GFP_KERNEL. It does not make sense. In the following cases,<br /> a deadlock for sbi-&gt;s_lock between the two processes may occur.<br /> <br /> CPU0 CPU1<br /> ---- ----<br /> kswapd<br /> balance_pgdat<br /> lock(fs_reclaim)<br /> exfat_iterate<br /> lock(&amp;sbi-&gt;s_lock)<br /> exfat_readdir<br /> exfat_get_uniname_from_ext_entry<br /> exfat_get_dentry_set<br /> __exfat_get_dentry_set<br /> kmalloc_array<br /> ...<br /> lock(fs_reclaim)<br /> ...<br /> evict<br /> exfat_evict_inode<br /> lock(&amp;sbi-&gt;s_lock)<br /> <br /> To fix this, let&amp;#39;s allocate bh-array with GFP_NOFS.

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (including) 6.6.44 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (including) 6.10.3 (excluding)