Description (CNA)
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 (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected bd3bdb9e0d656f760b11d0c638d35d7f7068144d before 632fb232b6bbf8277edcbe9ecd4b4d98ecb122eb; affected 92dcd7d6c6068bf4fd35a6f64d606e27d634807e before c052f775ee6ccacd3c97e4cf41a2a657e63d4259; affected d8fe01ad2d8ab33aaf8f2efad9e8f1dae11c4b0c before cd1c7858641384191ff7033fb1fc65dfcd559c6f; affected a3ff29a95fde16906304455aa8c0bd84eb770258 before a7ac198f8dba791e3144c4da48a5a9b95773ee4b; affected a3ff29a95fde16906304455aa8c0bd84eb770258 before 1d1970493c289e3f44b9ec847ed26a5dbdf56a62; affected a3ff29a95fde16906304455aa8c0bd84eb770258 before 89fc548767a2155231128cb98726d6d2ea1256c9; affected 5.10.190 before 5.10.232; affected 5.15.150 before 5.15.175 |
| Linux / Linux | affected 6.2; unaffected 0 before 6.2; unaffected 5.10.232 through 5.10.*; unaffected 5.15.175 through 5.15.*; unaffected 6.6.44 through 6.6.*; unaffected 6.10.3 through 6.10.*; unaffected 6.11 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/632fb232b6bbf8277edcbe9ecd4b4d98ecb122eb
- https://git.kernel.org/stable/c/c052f775ee6ccacd3c97e4cf41a2a657e63d4259
- https://git.kernel.org/stable/c/cd1c7858641384191ff7033fb1fc65dfcd559c6f
- https://git.kernel.org/stable/c/a7ac198f8dba791e3144c4da48a5a9b95773ee4b
- https://git.kernel.org/stable/c/1d1970493c289e3f44b9ec847ed26a5dbdf56a62
- https://git.kernel.org/stable/c/89fc548767a2155231128cb98726d6d2ea1256c9
ADP enrichment
No English description supplied.
No references supplied.
No English description supplied.