[PATCH] drm/xe: Fix coverity issue, cast_overflow

Matthew Brost matthew.brost at intel.com
Tue Aug 5 03:38:02 UTC 2025


On Mon, Aug 04, 2025 at 03:10:38PM +0530, Pravalika Gurram wrote:
> Add bounds check for error code assignment.
> Prevent integer truncation when assigning 64-bit return values
> to 32-bit error codes by validating the range before casting.
> Fall back to -ETIMEDOUT for out-of-range values.
> 
> Fixes: 16ba2b28df3a8 ("drm/xe/pf: Add function to sanitize VF resources")
> 
> Signed-off-by: Pravalika Gurram <pravalika.gurram at intel.com>
> ---
>  drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c b/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c
> index f00cce81f1ff..2fa1a4fba1ca 100644
> --- a/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c
> +++ b/drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c
> @@ -2091,7 +2091,7 @@ static int pf_sanitize_lmem(struct xe_tile *tile, struct xe_bo *bo, long timeout
>  	} else {
>  		long ret = dma_fence_wait_timeout(fence, false, timeout);
>  
> -		err = ret > 0 ? 0 : ret < 0 ? ret : -ETIMEDOUT;
> +		err = ret > 0 ? 0 : (ret < 0 && ret >= INT_MIN) ? (int)ret : -ETIMEDOUT;

This looks like false positive similar to [1]. 'ret' here will be
positive (success), 0 (timeout), or ERESTARTSYS.

IMO we don't need aggesive defensive programing here as the returns from
dma_fence_wait_timeout are well defined.

Matt

[1] https://patchwork.freedesktop.org/series/152488/

>  		dma_fence_put(fence);
>  		if (!err)
>  			xe_gt_sriov_dbg_verbose(tile->primary_gt, "LMEM cleared in %dms\n",
> -- 
> 2.34.1
> 


More information about the Intel-xe mailing list