diff options
author | Yuanjun Gong <ruc_gongyuanjun@163.com> | 2023-07-17 17:49:18 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2023-07-19 14:27:09 +0300 |
commit | aa7cb3789b429d4fdfbe767e0e0cf8c769299d7a (patch) | |
tree | b7148fda7aa2a88acc1b94a0f288df5648a83f5e /net/ipv4 | |
parent | 02d84f3eb53a5be982b17c88410fa6c58806356b (diff) | |
download | linux-aa7cb3789b429d4fdfbe767e0e0cf8c769299d7a.tar.xz |
ipv4: ip_gre: fix return value check in erspan_xmit()
goto free_skb if an unexpected result is returned by pskb_tirm()
in erspan_xmit().
Signed-off-by: Yuanjun Gong <ruc_gongyuanjun@163.com>
Reviewed-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4')
-rw-r--r-- | net/ipv4/ip_gre.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c index 914cc941af55..22a26d1d29a0 100644 --- a/net/ipv4/ip_gre.c +++ b/net/ipv4/ip_gre.c @@ -690,7 +690,8 @@ static netdev_tx_t erspan_xmit(struct sk_buff *skb, goto free_skb; if (skb->len > dev->mtu + dev->hard_header_len) { - pskb_trim(skb, dev->mtu + dev->hard_header_len); + if (pskb_trim(skb, dev->mtu + dev->hard_header_len)) + goto free_skb; truncate = true; } |