diff options
author | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2023-06-14 12:02:02 +0200 |
---|---|---|
committer | Steffen Klassert <steffen.klassert@secunet.com> | 2023-06-16 10:29:50 +0200 |
commit | f015b900bc3285322029b4a7d132d6aeb0e51857 (patch) | |
tree | 74e9b1038bb936d0e2f16b2d8e98e9687a1ce24e /crypto/sm2.c | |
parent | xfrm: Use xfrm_state selector for BEET input (diff) | |
download | linux-f015b900bc3285322029b4a7d132d6aeb0e51857.tar.xz linux-f015b900bc3285322029b4a7d132d6aeb0e51857.zip |
xfrm: Linearize the skb after offloading if needed.
With offloading enabled, esp_xmit() gets invoked very late, from within
validate_xmit_xfrm() which is after validate_xmit_skb() validates and
linearizes the skb if the underlying device does not support fragments.
esp_output_tail() may add a fragment to the skb while adding the auth
tag/ IV. Devices without the proper support will then send skb->data
points to with the correct length so the packet will have garbage at the
end. A pcap sniffer will claim that the proper data has been sent since
it parses the skb properly.
It is not affected with INET_ESP_OFFLOAD disabled.
Linearize the skb after offloading if the sending hardware requires it.
It was tested on v4, v6 has been adopted.
Fixes: 7785bba299a8d ("esp: Add a software GRO codepath")
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Diffstat (limited to 'crypto/sm2.c')
0 files changed, 0 insertions, 0 deletions