[PATCH] drm/xe: Fix coverity issue, truncation warning
Gurram, Pravalika
pravalika.gurram at intel.com
Tue Aug 5 06:53:39 UTC 2025
> -----Original Message-----
> From: Brost, Matthew <matthew.brost at intel.com>
> Sent: Tuesday, August 5, 2025 9:05 AM
> To: Gurram, Pravalika <pravalika.gurram at intel.com>
> Cc: intel-xe at lists.freedesktop.org; Wajdeczko, Michal
> <Michal.Wajdeczko at intel.com>
> Subject: Re: [PATCH] drm/xe: Fix coverity issue, truncation warning
>
> On Mon, Aug 04, 2025 at 04:14:09PM +0530, Pravalika Gurram wrote:
> > Use conditional assignment to avoid cast truncation warning.
> > Set instance to 0 when hw_reports_to_instance_zero() returns false.
> >
> > Fixes: 95336cfd5b2ce ("drm/xe: Add memirq report page address
> > helpers")
>
> Definitiely no fixes tag required here.
>
> >
> > Signed-off-by: Pravalika Gurram <pravalika.gurram at intel.com>
> > ---
> > drivers/gpu/drm/xe/xe_memirq.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/xe/xe_memirq.c
> > b/drivers/gpu/drm/xe/xe_memirq.c index 49c45ec3e83c..75ddf4eda355
> > 100644
> > --- a/drivers/gpu/drm/xe/xe_memirq.c
> > +++ b/drivers/gpu/drm/xe/xe_memirq.c
> > @@ -257,7 +257,8 @@ static u32 __memirq_source_page(struct xe_memirq
> *memirq, u16 instance)
> > memirq_assert(memirq, instance <= XE_HW_ENGINE_MAX_INSTANCE);
> > memirq_assert(memirq, memirq->bo);
> >
> > - instance = hw_reports_to_instance_zero(memirq) ? instance : 0;
> > + if (!hw_reports_to_instance_zero(memirq))
> > + instance = 0;
>
> I'm failing to see how this fixes any possible static checker. Could you explain?
>
> That said, I do prefer the way you have changed it here.
>
> Matt
>
>
The Static analyzer treating the ternary expression "hw_reports_to_instance_zero(memirq) ? instance : 0" evaluates to a 32-bit value
Hence, I have added if condition to avoid a static checker error
cast overflow: Truncation due to cast operation on hw_reports_to_instance_zero(memirq) ? instance : 0 from 32 to 16 bits.
Pravalika
> > return xe_bo_ggtt_addr(memirq->bo) +
> > XE_MEMIRQ_SOURCE_OFFSET(instance);
> > }
> >
> > --
> > 2.34.1
> >
More information about the Intel-xe
mailing list