[PATCH 5.4 001/408] ibmveth: Switch order of ibmveth_helper calls.

From: Greg Kroah-Hartman
Date: Tue Oct 27 2020 - 10:28:59 EST


From: David Wilder <dwilder@xxxxxxxxxx>

[ Upstream commit 5ce9ad815a296374ca21f43f3b1ab5083d202ee1 ]

ibmveth_rx_csum_helper() must be called after ibmveth_rx_mss_helper()
as ibmveth_rx_csum_helper() may alter ip and tcp checksum values.

Fixes: 66aa0678efc2 ("ibmveth: Support to enable LSO/CSO for Trunk VEA.")
Signed-off-by: David Wilder <dwilder@xxxxxxxxxx>
Reviewed-by: Thomas Falcon <tlfalcon@xxxxxxxxxxxxx>
Reviewed-by: Cristobal Forno <cris.forno@xxxxxxx>
Reviewed-by: Pradeep Satyanarayana <pradeeps@xxxxxxxxxxxxxxxxxx>
Acked-by: Willem de Bruijn <willemb@xxxxxxxxxx>
Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
drivers/net/ethernet/ibm/ibmveth.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

--- a/drivers/net/ethernet/ibm/ibmveth.c
+++ b/drivers/net/ethernet/ibm/ibmveth.c
@@ -1353,16 +1353,16 @@ static int ibmveth_poll(struct napi_stru
skb_put(skb, length);
skb->protocol = eth_type_trans(skb, netdev);

- if (csum_good) {
- skb->ip_summed = CHECKSUM_UNNECESSARY;
- ibmveth_rx_csum_helper(skb, adapter);
- }
-
if (length > netdev->mtu + ETH_HLEN) {
ibmveth_rx_mss_helper(skb, mss, lrg_pkt);
adapter->rx_large_packets++;
}

+ if (csum_good) {
+ skb->ip_summed = CHECKSUM_UNNECESSARY;
+ ibmveth_rx_csum_helper(skb, adapter);
+ }
+
napi_gro_receive(napi, skb); /* send it up */

netdev->stats.rx_packets++;