ah: Don't return NET_XMIT_DROP on input.
authorNick Bowler <nbowler@elliptictech.com>
Thu, 10 Nov 2011 09:01:27 +0000 (09:01 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 12 Nov 2011 23:13:32 +0000 (18:13 -0500)
When the ahash driver returns -EBUSY, AH4/6 input functions return
NET_XMIT_DROP, presumably copied from the output code path.  But
returning transmit codes on input doesn't make a lot of sense.
Since NET_XMIT_DROP is a positive int, this gets interpreted as
the next header type (i.e., success).  As that can only end badly,
remove the check.

Signed-off-by: Nick Bowler <nbowler@elliptictech.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/ah4.c
net/ipv6/ah6.c

index c7056b2e831f6d107c3d1aaa993b3b2b6b23f2d1..36d14406261e8c9ad486103127ae1106baca4678 100644 (file)
@@ -369,8 +369,6 @@ static int ah_input(struct xfrm_state *x, struct sk_buff *skb)
                if (err == -EINPROGRESS)
                        goto out;
 
-               if (err == -EBUSY)
-                       err = NET_XMIT_DROP;
                goto out_free;
        }
 
index 7a33aaa0022785734a22f7d279e187f65b8072b4..4c0f894d08432564899bb5611483f5dab3d2ae59 100644 (file)
@@ -581,8 +581,6 @@ static int ah6_input(struct xfrm_state *x, struct sk_buff *skb)
                if (err == -EINPROGRESS)
                        goto out;
 
-               if (err == -EBUSY)
-                       err = NET_XMIT_DROP;
                goto out_free;
        }