* [bug report] drm/xe/vf: Start re-emission from first unsignaled job during VF migration
@ 2025-11-27 6:46 Dan Carpenter
0 siblings, 0 replies; only message in thread
From: Dan Carpenter @ 2025-11-27 6:46 UTC (permalink / raw)
To: Matthew Brost; +Cc: intel-xe
Hello Matthew Brost,
Commit 00937fe1921a ("drm/xe/vf: Start re-emission from first
unsignaled job during VF migration") from Nov 21, 2025 (linux-next),
leads to the following Smatch static checker warning:
drivers/gpu/drm/xe/xe_guc_submit.c:2265 guc_exec_queue_unpause_prepare()
warn: iterator used outside loop: 'job'
drivers/gpu/drm/xe/xe_guc_submit.c
2247 static void guc_exec_queue_unpause_prepare(struct xe_guc *guc,
2248 struct xe_exec_queue *q)
2249 {
2250 struct xe_gpu_scheduler *sched = &q->guc->sched;
2251 struct xe_sched_job *job = NULL;
2252 bool restore_replay = false;
2253
2254 list_for_each_entry(job, &sched->base.pending_list, drm.list) {
2255 restore_replay |= job->restore_replay;
2256 if (restore_replay) {
2257 xe_gt_dbg(guc_to_gt(guc), "Replay JOB - guc_id=%d, seqno=%d",
2258 q->guc->id, xe_sched_job_seqno(job));
2259
2260 q->ring_ops->emit_job(job);
2261 job->restore_replay = true;
2262 }
2263 }
2264
--> 2265 if (job)
2266 job->last_replay = true;
job is never NULL here, it's a pointer to an offset from the list_head.
So this corrupts memory.
2267 }
regards,
dan carpenter
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2025-11-27 6:46 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-27 6:46 [bug report] drm/xe/vf: Start re-emission from first unsignaled job during VF migration Dan Carpenter
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.