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;