CVE-2026-64438

In the Linux kernel, the following vulnerability has been resolved: crypto: qat - fix VF2PF work teardown race in adf_disable_sriov() The VF2PF interrupt handler queues PF-side response work that stores a raw pointer to per-VF state (struct adf_accel_vf_info). Currently, adf_disable_sriov() destroys per-VF mutexes and frees vf_info without stopping new VF2PF work or waiting for in-flight workers to complete. A concurrently scheduled or already queued worker can then dereference freed memory. This manifests as a use-after-free when KASAN is enabled: BUG: KASAN: null-ptr-deref in mutex_lock+0x76/0xe0 Write of size 8 at addr 0000000000000260 by task kworker/24:2/... Workqueue: qat_pf2vf_resp_wq adf_iov_send_resp [intel_qat] Call Trace: kasan_report+0x119/0x140 mutex_lock+0x76/0xe0 adf_gen4_pfvf_send+0xd4/0x1f0 [intel_qat] adf_recv_and_handle_vf2pf_msg+0x290/0x360 [intel_qat] adf_iov_send_resp+0x8c/0xe0 [intel_qat] process_one_work+0x6ac/0xfd0 worker_thread+0x4dd/0xd30 kthread+0x326/0x410 ret_from_fork+0x33b/0x670 Add a PF-local flag, vf2pf_disabled, that gates work queueing, worker processing, and interrupt re-enabling during teardown. Set this flag atomically with the hardware interrupt mask inside adf_disable_all_vf2pf_interrupts(). After masking, synchronize the AE cluster MSI-X interrupt and flush the PF response workqueue before tearing down per-VF locks and state so all in-flight work completes before vf_info is destroyed. Introduce adf_enable_all_vf2pf_interrupts() to clear the flag and unmask all VF2PF interrupts under the same lock when SR-IOV is re-enabled. This ensures the software flag and hardware state transition atomically on both the enable and disable paths.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

History

24 Oct 2026, 13:10

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta: crypto: qat - corrección de la condición de carrera en la deshabilitación del trabajo VF2PF en adf_disable_sriov() El gestor de interrupciones VF2PF encola trabajo de respuesta del lado del PF que almacena un puntero sin procesar al estado por VF (struct adf_accel_vf_info). Actualmente, adf_disable_sriov() destruye los mutexes por VF y libera vf_info sin detener nuevo trabajo VF2PF o esperar a que los trabajadores en curso se completen. Un trabajador programado concurrentemente o ya encolado puede entonces desreferenciar memoria liberada. Esto se manifiesta como un uso después de liberación cuando KASAN está habilitado: ERROR: KASAN: null-ptr-deref en mutex_lock+0x76/0xe0 Escritura de tamaño 8 en la dirección 0000000000000260 por la tarea kworker/24:2/... Cola de trabajo: qat_pf2vf_resp_wq adf_iov_send_resp [intel_qat] Rastro de Llamada: kasan_report+0x119/0x140 mutex_lock+0x76/0xe0 adf_gen4_pfvf_send+0xd4/0x1f0 [intel_qat] adf_recv_and_handle_vf2pf_msg+0x290/0x360 [intel_qat] adf_iov_send_resp+0x8c/0xe0 [intel_qat] process_one_work+0x6ac/0xfd0 worker_thread+0x4dd/0xd30 kthread+0x326/0x410 ret_from_fork+0x33b/0x670 Se añade un indicador local de PF, vf2pf_disabled, que controla el encolamiento de trabajo, el procesamiento de trabajadores y la re-habilitación de interrupciones durante la deshabilitación. Este indicador se establece atómicamente con la máscara de interrupción de hardware dentro de adf_disable_all_vf2pf_interrupts(). Después de enmascarar, se sincroniza la interrupción MSI-X del clúster AE y se vacía la cola de trabajo de respuesta del PF antes de deshabilitar los bloqueos y el estado por VF para que todo el trabajo en curso se complete antes de que vf_info sea destruido. Se introduce adf_enable_all_vf2pf_interrupts() para borrar el indicador y desenmascarar todas las interrupciones VF2PF bajo el mismo bloqueo cuando SR-IOV es re-habilitado. Esto asegura que el indicador de software y el estado del hardware transicionen atómicamente tanto en las rutas de habilitación como de deshabilitación.

Information

Published : 2026-07-25 10:17

Updated : 2026-10-24 13:10


NVD link : CVE-2026-64438

Mitre link : CVE-2026-64438

CVE.ORG link : CVE-2026-64438


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-416

Use After Free