DORMANTno replies

[PATCH 1/1] net: ipv6: check the return value of pskb_trim()

From: Yuanjun Gong <hidden>
Date: 2023-07-17 14:50:43
Subsystem: networking [general], networking [ipsec], the rest · Maintainers: "David S. Miller", Eric Dumazet, Jakub Kicinski, Paolo Abeni, Steffen Klassert, Herbert Xu, Linus Torvalds

return an error number if an unexpected result is returned by
pskb_tirm() in esp_remove_trailer().

Signed-off-by: Yuanjun Gong <redacted>
---
 net/ipv6/esp6.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/net/ipv6/esp6.c b/net/ipv6/esp6.c
index fddd0cbdede1..81111ccadf34 100644
--- a/net/ipv6/esp6.c
+++ b/net/ipv6/esp6.c
@@ -770,7 +770,10 @@ 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);
+	if (pskb_trim(skb, skb->len - trimlen)) {
+		ret = -EINVAL;
+		goto out;
+	}
 
 	ret = nexthdr[1];
 
-- 
2.17.1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help