[PATCH v5] drm/i915/gvt: add a NULL pointer check to avoid kernel panic

Zhenyu Wang zhenyuw at linux.intel.com
Mon Feb 20 02:34:09 UTC 2017


On 2017.02.17 19:29:52 +0800, Chuanxiao Dong wrote:
> 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.
> v5: add unlikely to optimize.
>

As this takes new way to fix, above changelog might not make sense
any more, I'd do some clean up when apply this later. Thanks!

> 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..e355a82 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 (unlikely(!workload))
> +		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

-- 
Open Source Technology Center, Intel ltd.

$gpg --keyserver wwwkeys.pgp.net --recv-keys 4D781827
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 163 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/intel-gvt-dev/attachments/20170220/8e4556e5/attachment.sig>


More information about the intel-gvt-dev mailing list