Linux kernel amdgpu: user-supplied indirect buffer size is unbounded, corrupting ring packet fields
Impact
amdgpu_cs_p2_ib() passed the user-supplied ib_bytes straight into ib->length_dw with no upper limit, while ring_emit_ib() packs that length into packet header fields. An oversized value overflows the field and corrupts adjacent control bits in the submitted packet, which the commit describes as destabilizing command submission. On a shared AMD GPU node this is reachable by whoever holds the render node, so one tenant's malformed submission can wedge the ring for everything else on the device; recovering a hung GFX/compute ring generally means a GPU reset and, in practice, evicting the workloads on that card. The record does not claim memory disclosure or privilege escalation, only command-submission corruption.
Who can reach it
Local user able to open an amdgpu render node and submit command buffers - on a GPU cluster, any tenant with a pod that has /dev/dri/renderD* mapped in. No elevated privileges beyond device access are needed.
What to do
Update to a stable kernel carrying the per-ring IB packet size limit and reboot each AMD GPU node; the fix is in the kernel driver's submission path, so a module reload is not viable while jobs hold the device. Drain the node first. No advisory version numbers are given in the record - only the stable branch commits and the upstream cherry-pick.
References
Related entries
- GPU / accelerator firmware (VBIOS, GSP, NVSwitch): GPU-resident firmware sits below the host OS and is not coveredNCVD-0000-012-gpu-accelerator-firmware-vbios-g · GPU / accelerator firmware (VBIOS, GSP, NVSwitch)Unscored
- NVIDIA Multi-Instance GPU (MIG) partitioning: MIG gives each instance its own SM slice, L2 slice, memory slice andNCVD-2020-001-nvidia-multi-instance-gpu-mig-pa · NVIDIA Multi-Instance GPU (MIG) partitioningUnscored
- NVIDIA Multi-Instance GPU (MIG) partitioning: MIG gives each instance its own SM slice, L2 slice, memory slice andNCVD-2020-003-nvidia-multi-instance-gpu-mig-pa · NVIDIA Multi-Instance GPU (MIG) partitioningUnscored
- Integrated GPU graphics data compression (Intel, AMD, Apple, Arm, Qualcomm, NVIDIA): GPUs apply data-dependent losslessNCVD-2023-003-integrated-gpu-graphics-data-com · Integrated GPU graphics data compression (Intel, AMD, Apple, Arm, Qualcomm, NVIDIA)Unscored
- NVIDIA Confidential Computing (H100/H200/B100/B200/GB200) - CC-DevTools operating mode: NVIDIA GPU confidentialNCVD-2023-004-nvidia-confidential-computing-h1 · NVIDIA Confidential Computing (H100/H200/B100/B200/GB200) - CC-DevTools operating modeUnscored
- Integrated GPU graphics data compression (Intel, AMD, Apple, Arm, Qualcomm, NVIDIA): GPUs apply data-dependent losslessNCVD-2023-005-integrated-gpu-graphics-data-com · Integrated GPU graphics data compression (Intel, AMD, Apple, Arm, Qualcomm, NVIDIA)Unscored
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.