[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