diff options
| author | Sabrina Dubroca <[email protected]> | 2025-08-04 09:26:26 +0000 |
|---|---|---|
| committer | Steffen Klassert <[email protected]> | 2025-08-07 06:07:01 +0000 |
| commit | 65f079a6c446a939eefe71e6d5957d5d6365fcf9 (patch) | |
| tree | 90aa92b7e89cbf8e9dd906125a305c7a72af69c7 | |
| parent | xfrm: restore GSO for SW crypto (diff) | |
| download | kernel-65f079a6c446a939eefe71e6d5957d5d6365fcf9.tar.gz kernel-65f079a6c446a939eefe71e6d5957d5d6365fcf9.zip | |
xfrm: bring back device check in validate_xmit_xfrm
This is partial revert of commit d53dda291bbd993a29b84d358d282076e3d01506.
This change causes traffic using GSO with SW crypto running through a
NIC capable of HW offload to no longer get segmented during
validate_xmit_xfrm, and is unrelated to the bonding use case mentioned
in the commit.
Fixes: d53dda291bbd ("xfrm: Remove unneeded device check from validate_xmit_xfrm")
Signed-off-by: Sabrina Dubroca <[email protected]>
Reviewed-by: Cosmin Ratiu <[email protected]>
Signed-off-by: Steffen Klassert <[email protected]>
| -rw-r--r-- | net/xfrm/xfrm_device.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/xfrm/xfrm_device.c b/net/xfrm/xfrm_device.c index 1f88472aaac0..c7a1f080d2de 100644 --- a/net/xfrm/xfrm_device.c +++ b/net/xfrm/xfrm_device.c @@ -155,7 +155,8 @@ struct sk_buff *validate_xmit_xfrm(struct sk_buff *skb, netdev_features_t featur return skb; } - if (skb_is_gso(skb) && unlikely(xmit_xfrm_check_overflow(skb))) { + if (skb_is_gso(skb) && (unlikely(x->xso.dev != dev) || + unlikely(xmit_xfrm_check_overflow(skb)))) { struct sk_buff *segs; /* Packet got rerouted, fixup features and segment it. */ |
