CVE Catalog

CVE-2026-93057

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel, the scsi: ufs: core driver has a potential memory reclaim deadlock in the TX EQTR context. Functions ufshcd_tx_eqtr(), __ufshcd_tx_eqtr(), and ufs_qcom_get_rx_fom() allocate memory with GFP_KERNEL, which can trigger direct reclaim that depends on I/O to the UFS device, while the queue is quiesced, leading to deadlock. The fix uses memalloc_noio_save/restore() in ufshcd_tx_eqtr() to cover all allocations in the call tree.

Risk Assessment

Deadlock can cause system hang or crash, especially during frequency scaling, impacting service availability.

Recommendation

It is recommended to update the Linux kernel to a version containing the fix that uses memalloc_noio_save/restore() in ufshcd_tx_eqtr().

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: scsi: ufs: core: Avoid possible memory reclaim deadlock in TX EQTR context TX EQTR may run while devfreq gear scaling has quiesced the UFS tagset. In that context, functions ufshcd_tx_eqtr(), __ufshcd_tx_eqtr() and ufs_qcom_get_rx_fom() allocate memory with GFP_KERNEL. If direct reclaim is triggered, reclaim/writeback can depend on I/O to UFS device. Because the queue is quiesced, this can cause deadlock. Use memalloc_noio_save/restore() in ufshcd_tx_eqtr() to cover all allocations in the TX EQTR call tree, including: - params->eqtr_record in ufshcd_tx_eqtr() - eqtr_data in __ufshcd_tx_eqtr() - params in ufs_qcom_get_rx_fom() This is preferred over tagging individual call sites with GFP_NOIO, as it automatically covers any future allocations added anywhere in the call tree without requiring each caller to be aware of this constraint. [mkp: fix label as suggested by Bart]

Vulnerability data from NVD (NIST) · CISA KEV · EPSS