[PATCH v4] drm/i915/gvt: add a NULL pointer check to avoid kernel panic
Dong, Chuanxiao
chuanxiao.dong at intel.com
Fri Feb 17 11:27:47 UTC 2017
> -----Original Message-----
> From: intel-gvt-dev [mailto:intel-gvt-dev-bounces at lists.freedesktop.org] On
> Behalf Of Chuanxiao Dong
> Sent: Friday, February 17, 2017 6:12 PM
> To: intel-gvt-dev at lists.freedesktop.org
> Subject: [PATCH v4] drm/i915/gvt: add a NULL pointer check to avoid kernel
> panic
>
> Due to the request replay, context switch interrupt may come after gvt free
> the workload thus can cause a kernel NULL pointer kernel panic. This patch
> will add a simple check to avoid this for a short term.
>
> From long term, gvt workload lifecycle doesn't match with i915 request and
> need to find a proper way to manage this.
>
> v2: update the commit message;
> add EINPROGRESS check for workload->status
>
> v3: make the status check gracefully.
> v4: simplify the NULL pointer check.
>
> Signed-off-by: Chuanxiao Dong <chuanxiao.dong at intel.com>
> ---
> drivers/gpu/drm/i915/gvt/scheduler.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/gvt/scheduler.c
> b/drivers/gpu/drm/i915/gvt/scheduler.c
> index d6b6d0e..b662bc0 100644
> --- a/drivers/gpu/drm/i915/gvt/scheduler.c
> +++ b/drivers/gpu/drm/i915/gvt/scheduler.c
> @@ -139,6 +139,9 @@ static int shadow_context_status_change(struct
> notifier_block *nb,
> struct intel_vgpu_workload *workload =
> scheduler->current_workload[req->engine->id];
>
> + if (!workload)
Would like to add the unlikely back for optimization. Will send out v5.
> + return NOTIFY_OK;
> +
> switch (action) {
> case INTEL_CONTEXT_SCHEDULE_IN:
> intel_gvt_load_render_mmio(workload->vgpu,
> --
> 2.7.4
>
> _______________________________________________
> intel-gvt-dev mailing list
> intel-gvt-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gvt-dev
More information about the intel-gvt-dev
mailing list