accel/qaic: zero-length DMA transfer request from userspace causes a general protection fault
Impact
The qaic driver for Qualcomm Cloud AI accelerators returned early from find_and_map_user_pages() when a DMA transfer request carried length 0, or when the device asked for transfer continuation after all bytes had already moved, without allocating the scatter-gather table or filling the dma_xfer struct. encode_addr_size_pairs() then accessed the absent sgt and took a general protection fault. Any tenant holding the accelerator device node can crash the host kernel with a crafted zero-length transfer, which on a shared inference node means every job on the box dies and the node needs a reboot that cannot be scheduled politely.
Who can reach it
Local user with access to the qaic accelerator character device - in practice any tenant whose container or job has the accelerator passed through. Authentication to the node is required; no network path. The second trigger (continuation after full transfer) needs the device itself to misbehave.
What to do
Update to a stable kernel that returns -EINVAL for zero-length ALPs and for continuation after full transfer (four commits in the record), then reboot each node carrying qaic accelerators. If you cannot patch promptly, the only mitigation is to stop exposing the accelerator device to untrusted workloads, which takes the node out of service for its purpose.
References
Related entries
- Linux kernel amdgpu display core (DC/DM) (drm/amd/display): A NULL pointer dereference in the amdgpu display coreCVE-2025-40354 · Linux kernel amdgpu display core (DC/DM) (drm/amd/display)High
- Altair Grid Engine (shared library loading): Grid Engine does not sanitise the environment variables that controlCVE-2025-40763 · Altair Grid Engine (shared library loading)High
- Linux kernel amdgpu display core (DC/DM) (drm/amd/display): Missing or insufficient validation of user-suppliedCVE-2025-68286 · Linux kernel amdgpu display core (DC/DM) (drm/amd/display)High
- Linux kernel amdgpu RAS / GPU reset and recovery path (drm/amdgpu): A use-after-free in the amdgpu RAS / GPU reset andCVE-2025-68793 · Linux kernel amdgpu RAS / GPU reset and recovery path (drm/amdgpu)High
- Linux kernel drm/xe: GGTT MMIO access after the MMIO region is gone on failed load or teardownCVE-2026-23466 · Linux kernel drm/xe (GGTT MMIO access during teardown)High
- NVIDIA Model Optimizer: RCE via unsafe deserializationCVE-2026-24141 · NVIDIA Model OptimizerHigh
This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.