Re: [PATCH net] igc: Fix passing 0 to ERR_PTR in igc_xdp_run_prog()
From: Simon Horman
Date: Wed Oct 16 2024 - 14:55:08 EST
On Wed, Oct 16, 2024 at 06:53:10PM +0800, Yue Haibing wrote:
> Return NULL instead of passing to ERR_PTR while res is IGC_XDP_PASS,
> which is zero, this fix smatch warnings:
> drivers/net/ethernet/intel/igc/igc_main.c:2533
> igc_xdp_run_prog() warn: passing zero to 'ERR_PTR'
>
> Fixes: 26575105d6ed ("igc: Add initial XDP support")
> Signed-off-by: Yue Haibing <yuehaibing@xxxxxxxxxx>
> ---
> drivers/net/ethernet/intel/igc/igc_main.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/intel/igc/igc_main.c b/drivers/net/ethernet/intel/igc/igc_main.c
> index 6e70bca15db1..c3d6e20c0be0 100644
> --- a/drivers/net/ethernet/intel/igc/igc_main.c
> +++ b/drivers/net/ethernet/intel/igc/igc_main.c
> @@ -2530,7 +2530,7 @@ static struct sk_buff *igc_xdp_run_prog(struct igc_adapter *adapter,
> res = __igc_xdp_run_prog(adapter, prog, xdp);
>
> out:
> - return ERR_PTR(-res);
> + return res ? ERR_PTR(-res) : NULL;
I think this is what PTR_ERR_OR_ZERO() is for.