From: Ma Ke Date: Sat, 7 Oct 2023 00:59:53 +0000 (+0800) Subject: net: ipv6: fix return value check in esp_remove_trailer X-Git-Tag: v4.14.328~29 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c3e33e868d393488a76ed635521771bc98e4296a;p=thirdparty%2Fkernel%2Fstable.git net: ipv6: fix return value check in esp_remove_trailer commit dad4e491e30b20f4dc615c9da65d2142d703b5c2 upstream. In esp_remove_trailer(), to avoid an unexpected result returned by pskb_trim, we should check the return value of pskb_trim(). Signed-off-by: Ma Ke Signed-off-by: Steffen Klassert Signed-off-by: Greg Kroah-Hartman --- diff --git a/net/ipv6/esp6.c b/net/ipv6/esp6.c index e19624245e167..25c12d0ccd284 100644 --- a/net/ipv6/esp6.c +++ b/net/ipv6/esp6.c @@ -499,7 +499,9 @@ static inline int esp_remove_trailer(struct sk_buff *skb) skb->csum = csum_block_sub(skb->csum, csumdiff, skb->len - trimlen); } - pskb_trim(skb, skb->len - trimlen); + ret = pskb_trim(skb, skb->len - trimlen); + if (unlikely(ret)) + return ret; ret = nexthdr[1];