[Intel-xe] [PATCH] drm/xe: Prevent null ptr dereference

Mishra, Pallavi pallavi.mishra at intel.com
Mon Nov 6 20:30:46 UTC 2023



> -----Original Message-----
> From: Welty, Brian <brian.welty at intel.com>
> Sent: Monday, November 6, 2023 11:58 AM
> To: Mishra, Pallavi <pallavi.mishra at intel.com>; intel-xe at lists.freedesktop.org
> Subject: Re: [Intel-xe] [PATCH] drm/xe: Prevent null ptr dereference
> 
> 
> 
> On 11/3/2023 2:19 PM, Pallavi Mishra wrote:
> > In scenarios where vm is not initialized, use xe_migrate to get the
> > address.
> 
> Can you describe this scenario?
> Is it legal to call xe_migrate_update_pgtables without a vm?
> What code path does that?

I see this in xe_live_ktest in migrate subtest. test_pt_update passes vm as NULL.

> 
> Just trying to understand if shouldn't be instead returning an error if vm is
> NULL. Or that isn't some other driver bug.
> 
> -Brian
> 
> 
> >
> > Signed-off-by: Pallavi Mishra <pallavi.mishra at intel.com>
> > ---
> >   drivers/gpu/drm/xe/xe_migrate.c | 5 ++++-
> >   1 file changed, 4 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/xe/xe_migrate.c
> > b/drivers/gpu/drm/xe/xe_migrate.c index e6a31f90ebdb..f79ec8e4ae4e
> > 100644
> > --- a/drivers/gpu/drm/xe/xe_migrate.c
> > +++ b/drivers/gpu/drm/xe/xe_migrate.c
> > @@ -1296,7 +1296,10 @@ xe_migrate_update_pgtables(struct xe_migrate
> > *m,
> >
> >   			xe_tile_assert(tile, pt_bo->size == SZ_4K);
> >
> > -			addr = vm->pt_ops->pte_encode_bo(pt_bo, 0,
> pat_index, 0);
> > +			if (vm)
> > +				addr = vm->pt_ops->pte_encode_bo(pt_bo, 0,
> pat_index, 0);
> > +			else
> > +				addr = m->q->vm->pt_ops-
> >pte_encode_bo(pt_bo, 0, pat_index, 0);
> >   			bb->cs[bb->len++] = lower_32_bits(addr);
> >   			bb->cs[bb->len++] = upper_32_bits(addr);
> >   		}


More information about the Intel-xe mailing list