Blob Blame History Raw
From: Zhouyang Jia <jiazhouyang09@gmail.com>
Date: Mon, 11 Jun 2018 13:26:35 +0800
Subject: net: dsa: add error handling for pskb_trim_rcsum
Git-commit: 349b71d6f427ff8211adf50839dbbff3f27c1805
Patch-mainline: v4.18-rc1
References: networking-stable-18_06_20

When pskb_trim_rcsum fails, the lack of error-handling code may
cause unexpected results.

This patch adds error-handling code after calling pskb_trim_rcsum.

Signed-off-by: Zhouyang Jia <jiazhouyang09@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 net/dsa/tag_trailer.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

--- a/net/dsa/tag_trailer.c
+++ b/net/dsa/tag_trailer.c
@@ -81,7 +81,8 @@ static struct sk_buff *trailer_rcv(struc
 	if (source_port >= ds->num_ports || !ds->ports[source_port].netdev)
 		goto out_drop;
 
-	pskb_trim_rcsum(skb, skb->len - 4);
+	if (pskb_trim_rcsum(skb, skb->len - 4))
+		return NULL;
 
 	skb->dev = ds->ports[source_port].netdev;