2018-06-11 05:27:37

by Zhouyang Jia

[permalink] [raw]
Subject: [PATCH] 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 <[email protected]>
---
net/dsa/tag_trailer.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/net/dsa/tag_trailer.c b/net/dsa/tag_trailer.c
index 7d20e1f..56197f0 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;
}
--
2.7.4



2018-06-11 21:52:19

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] net: dsa: add error handling for pskb_trim_rcsum

From: Zhouyang Jia <[email protected]>
Date: Mon, 11 Jun 2018 13:26:35 +0800

> 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 <[email protected]>

Applied and queued up for -stable, thanks.