If pskb_may_pull return failed, return PACKET_REJECT
instead of -ENOMEM.

Fixes: 94d7d8f29287 ("ip6_gre: add erspan v2 support")
Fixes: f551c91de262 ("net: erspan: introduce erspan v2 for ip_gre")
Signed-off-by: William Tu <u9012...@gmail.com>
Cc: Haishuang Yan <yanhaishu...@cmss.chinamobile.com>
---
 net/ipv4/ip_gre.c  | 2 +-
 net/ipv6/ip6_gre.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c
index 004800b923c6..1ca7451ff898 100644
--- a/net/ipv4/ip_gre.c
+++ b/net/ipv4/ip_gre.c
@@ -287,7 +287,7 @@ static int erspan_rcv(struct sk_buff *skb, struct 
tnl_ptk_info *tpi,
        if (tunnel) {
                len = gre_hdr_len + erspan_hdr_len(ver);
                if (unlikely(!pskb_may_pull(skb, len)))
-                       return -ENOMEM;
+                       return PACKET_REJECT;
 
                if (__iptunnel_pull_header(skb,
                                           len,
diff --git a/net/ipv6/ip6_gre.c b/net/ipv6/ip6_gre.c
index 5c9c65f1d5c2..b3e4e0384f36 100644
--- a/net/ipv6/ip6_gre.c
+++ b/net/ipv6/ip6_gre.c
@@ -524,7 +524,7 @@ static int ip6erspan_rcv(struct sk_buff *skb, int 
gre_hdr_len,
                int len = erspan_hdr_len(ver);
 
                if (unlikely(!pskb_may_pull(skb, len)))
-                       return -ENOMEM;
+                       return PACKET_REJECT;
 
                if (__iptunnel_pull_header(skb, len,
                                           htons(ETH_P_TEB),
-- 
2.7.4

Reply via email to