mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 04:10:18 +09:00
net: hns3: check the return of skb_checksum_help()
commit 9bb5a49542 upstream.
Currently skb_checksum_help()'s return is ignored, but it may
return error when it fails to allocate memory when linearizing.
So adds checking for the return of skb_checksum_help().
Fixes: 76ad4f0ee747("net: hns3: Add support of HNS3 Ethernet Driver for hip08 SoC")
Fixes: 3db084d28dc0("net: hns3: Fix for vxlan tx checksum bug")
Signed-off-by: Yunsheng Lin <linyunsheng@huawei.com>
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
5c3c0b21b3
commit
210946e53a
@@ -702,8 +702,6 @@ static bool hns3_tunnel_csum_bug(struct sk_buff *skb)
|
||||
if (!(!skb->encapsulation && l4.udp->dest == htons(IANA_VXLAN_PORT)))
|
||||
return false;
|
||||
|
||||
skb_checksum_help(skb);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -764,8 +762,7 @@ static int hns3_set_l3l4_type_csum(struct sk_buff *skb, u8 ol4_proto,
|
||||
/* the stack computes the IP header already,
|
||||
* driver calculate l4 checksum when not TSO.
|
||||
*/
|
||||
skb_checksum_help(skb);
|
||||
return 0;
|
||||
return skb_checksum_help(skb);
|
||||
}
|
||||
|
||||
l3.hdr = skb_inner_network_header(skb);
|
||||
@@ -796,7 +793,7 @@ static int hns3_set_l3l4_type_csum(struct sk_buff *skb, u8 ol4_proto,
|
||||
break;
|
||||
case IPPROTO_UDP:
|
||||
if (hns3_tunnel_csum_bug(skb))
|
||||
break;
|
||||
return skb_checksum_help(skb);
|
||||
|
||||
hnae3_set_bit(*type_cs_vlan_tso, HNS3_TXD_L4CS_B, 1);
|
||||
hnae3_set_field(*type_cs_vlan_tso,
|
||||
@@ -821,8 +818,7 @@ static int hns3_set_l3l4_type_csum(struct sk_buff *skb, u8 ol4_proto,
|
||||
/* the stack computes the IP header already,
|
||||
* driver calculate l4 checksum when not TSO.
|
||||
*/
|
||||
skb_checksum_help(skb);
|
||||
return 0;
|
||||
return skb_checksum_help(skb);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user