summaryrefslogtreecommitdiffstats
path: root/net/dsa
diff options
context:
space:
mode:
authorZhouyang Jia <jiazhouyang09@gmail.com>2018-06-11 13:26:35 +0800
committerDavid S. Miller <davem@davemloft.net>2018-06-11 14:19:38 -0700
commit349b71d6f427ff8211adf50839dbbff3f27c1805 (patch)
tree24010909255d60d05630e0fa5c949c5d628ebd63 /net/dsa
parent0975764684487bf3f7a47eef009e750ea41bd514 (diff)
downloadlinux-349b71d6f427ff8211adf50839dbbff3f27c1805.tar.bz2
net: dsa: add error handling for pskb_trim_rcsum
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>
Diffstat (limited to 'net/dsa')
-rw-r--r--net/dsa/tag_trailer.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/dsa/tag_trailer.c b/net/dsa/tag_trailer.c
index 7d20e1f3de28..56197f0d9608 100644
--- a/net/dsa/tag_trailer.c
+++ b/net/dsa/tag_trailer.c
@@ -75,7 +75,8 @@ static struct sk_buff *trailer_rcv(struct sk_buff *skb, struct net_device *dev,
if (!skb->dev)
return NULL;
- pskb_trim_rcsum(skb, skb->len - 4);
+ if (pskb_trim_rcsum(skb, skb->len - 4))
+ return NULL;
return skb;
}