From: Ma Ke Date: Mon, 9 Oct 2023 01:13:37 +0000 (+0800) Subject: net: ipv4: fix return value check in esp_remove_trailer X-Git-Tag: v4.14.328~30 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c593b6e934eeb076cabc2dd169bb80c7dcfc1fdc;p=thirdparty%2Fkernel%2Fstable.git net: ipv4: fix return value check in esp_remove_trailer commit 513f61e2193350c7a345da98559b80f61aec4fa6 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/ipv4/esp4.c b/net/ipv4/esp4.c index d5e860573ecd4..79fa2d7852efa 100644 --- a/net/ipv4/esp4.c +++ b/net/ipv4/esp4.c @@ -547,7 +547,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];