From: Artem Chernyshev artem.chernyshev@red-soft.ru
[ Upstream commit d4edb50688652eb10be270bc515da63815de428f ]
Return NULL if we got unexpected value from skb_trim_rcsum() in hellcreek_rcv()
Fixes: 01ef09caad66 ("net: dsa: Add tag handling for Hirschmann Hellcreek switches") Signed-off-by: Artem Chernyshev artem.chernyshev@red-soft.ru Reviewed-by: Florian Fainelli f.fainelli@gmail.com Reviewed-by: Kurt Kanzenbach kurt@linutronix.de Link: https://lore.kernel.org/r/20221201140032.26746-2-artem.chernyshev@red-soft.r... Signed-off-by: Jakub Kicinski kuba@kernel.org Signed-off-by: Sasha Levin sashal@kernel.org --- net/dsa/tag_hellcreek.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/net/dsa/tag_hellcreek.c b/net/dsa/tag_hellcreek.c index 846588c0070a..53a206d11685 100644 --- a/net/dsa/tag_hellcreek.c +++ b/net/dsa/tag_hellcreek.c @@ -49,7 +49,8 @@ static struct sk_buff *hellcreek_rcv(struct sk_buff *skb, return NULL; }
- pskb_trim_rcsum(skb, skb->len - HELLCREEK_TAG_LEN); + if (pskb_trim_rcsum(skb, skb->len - HELLCREEK_TAG_LEN)) + return NULL;
dsa_default_offload_fwd_mark(skb);