U.S. flag   An official website of the United States government
Dot gov

Official websites use .gov
A .gov website belongs to an official government organization in the United States.

Https

Secure .gov websites use HTTPS
A lock (Dot gov) or https:// means you've safely connected to the .gov website. Share sensitive information only on official, secure websites.

Vulnerability Change Records for CVE-2024-42315

Change History

New CVE Received from kernel.org 8/17/2024 5:15:11 AM

Action Type Old Value New Value
Added 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.
Added Reference

								
							
							
						
kernel.org https://git.kernel.org/stable/c/1d1970493c289e3f44b9ec847ed26a5dbdf56a62 [No types assigned]
Added Reference

								
							
							
						
kernel.org https://git.kernel.org/stable/c/89fc548767a2155231128cb98726d6d2ea1256c9 [No types assigned]
Added Reference

								
							
							
						
kernel.org https://git.kernel.org/stable/c/a7ac198f8dba791e3144c4da48a5a9b95773ee4b [No types assigned]