Re: [PATCH net-next v12 1/8] hinic3: Fix drop skb when skb_checksum_help() fails

Larysa Zaremba <[email protected]>
Newsgroups org.kernel.vger.linux-doc,org.kernel.vger.linux-kernel,org.kernel.vger.netdev
Message-ID <[email protected]>
On Mon, Jul 27, 2026 at 02:54:52PM +0800, Fan Gong wrote:
>   Changes hinic3_tx_csum()/hinic3_tx_offload() to propagate
> skb_checksum_help() failures into a TX drop.
> 
> Co-developed-by: Wu Di <[email protected]>
> Signed-off-by: Wu Di <[email protected]>
> Co-developed-by: Teng Peisen <[email protected]>
> Signed-off-by: Teng Peisen <[email protected]>
> Signed-off-by: Fan Gong <[email protected]>

Regarding patch 1/8 and 2/8 in this series. A change either fixes a bug or it 
does not. If it does, the patch must go the net tree and contain a Fixes: tag. 
If it is a prerequisite for your -next series, you need the fixes to be merged 
first (but it's usually not that long). If you are rather sure that the code 
inconsistency that you are correcting does not have any real negative impact 
(e.g. failure is only for features not supported by the netdev), it can go in a 
normal -next patch series, but it's best to explain, why it has no real 
functional impact and avoid using the word "fix", otherwise both humans and AIs 
can get confused.

> ---
>  drivers/net/ethernet/huawei/hinic3/hinic3_tx.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/ethernet/huawei/hinic3/hinic3_tx.c b/drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
> index 9306bf0020ca..53c065194136 100644
> --- a/drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
> +++ b/drivers/net/ethernet/huawei/hinic3/hinic3_tx.c
> @@ -261,8 +261,7 @@ static int hinic3_tx_csum(struct hinic3_txq *txq, struct hinic3_sq_task *task,
>  		    ((struct udphdr *)skb_transport_header(skb))->dest !=
>  		    VXLAN_OFFLOAD_PORT_LE) {
>  			/* Unsupported tunnel packet, disable csum offload */
> -			skb_checksum_help(skb);
> -			return 0;
> +			return skb_checksum_help(skb);
>  		}
>  	}
>  
> @@ -412,6 +411,10 @@ static u32 hinic3_tx_offload(struct sk_buff *skb, struct hinic3_sq_task *task,
>  		offload |= HINIC3_TX_OFFLOAD_TSO;
>  	} else {
>  		tso_cs_en = hinic3_tx_csum(txq, task, skb);
> +		if (tso_cs_en < 0) {
> +			offload = HINIC3_TX_OFFLOAD_INVALID;
> +			return offload;
> +		}
>  		if (tso_cs_en)
>  			offload |= HINIC3_TX_OFFLOAD_CSUM;
>  	}
> -- 
> 2.54.0
> 
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.