* [PATCH] drm/i915/gvt: Fix NULL pointer dereference in slot switch
@ 2026-11-12 15:58 Tuo Li
0 siblings, 0 replies; only message in thread
From: Tuo Li @ 2026-11-12 15:58 UTC (permalink / raw)
To: zhenyuw.linux, zhi.wang.linux, jani.nikula, joonas.lahtinen,
rodrigo.vivi, tursulin, airlied, simona, ankit.k.nautiyal
Cc: intel-gfx, dri-devel, linux-kernel, Tuo Li
The running slot is updated to the pending slot before updating the running
context. However, the condition checks the old running context instead of
the newly assigned running slot.
When no pending slot exists, running_slot becomes NULL. If the previous
running_context is non-NULL, the code attempts to access
running_slot->ctx[0], resulting in a NULL pointer dereference.
To fix this possible NULL pointer dereference, check running_slot instead
to ensure that running_context is updated only when a valid slot is
available.
Fixes: 8453d674ae7e ("drm/i915/gvt: vGPU execlist virtualization")
Signed-off-by: Tuo Li <islituo@gmail.com>
---
drivers/gpu/drm/i915/gvt/execlist.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/gvt/execlist.c b/drivers/gpu/drm/i915/gvt/execlist.c
index 29147a9f162e..763c310f2aaf 100644
--- a/drivers/gpu/drm/i915/gvt/execlist.c
+++ b/drivers/gpu/drm/i915/gvt/execlist.c
@@ -73,7 +73,7 @@ static void switch_virtual_execlist_slot(struct intel_vgpu_execlist *execlist)
execlist->running_slot = execlist->pending_slot;
execlist->pending_slot = NULL;
- execlist->running_context = execlist->running_context ?
+ execlist->running_context = execlist->running_slot ?
&execlist->running_slot->ctx[0] : NULL;
gvt_dbg_el("[after] running slot %d/context %x pending slot %d\n",
--
2.43.0
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-11-12 15:58 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-12 15:58 [PATCH] drm/i915/gvt: Fix NULL pointer dereference in slot switch Tuo Li
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®