Database/Kernel, userspace & hypervisor
Linux kernel (drivers/gpu/drm/xe): A GPU TLB invalidation for a very large address range computes its length with a
Impact
A GPU TLB invalidation for a very large address range computes its length with a power-of-two roundup that overflows, producing an undefined shift and a bogus invalidation length. The operator-level consequence is that GPU TLB entries for pages the kernel believes it has unmapped may survive, letting a tenant's GPU keep touching host pages after they have been freed and potentially handed to another workload.
Who can reach it
Reachable from an unprivileged process in a container with /dev/dri/renderD* on an Intel Xe node with SVM/userptr in use: map a huge address range into the GPU, then tear it down (or simply exit) so the MMU notifier fires xe_svm_invalidate with a range larger than the roundup can represent. Observed in practice from a plain userspace exec test, no special privilege.
What to do
Update to a kernel with the fix commits below, which falls back to a full TLB invalidation above a size threshold. Interim: deny /dev/dri render nodes to untrusted tenants on xe hosts; there is no knob to disable SVM range invalidation.
References
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.