[IPv6] ESP: Discard dummy packets introduced in rfc4303

Previous thread: [UM]: Fix use of skb after netif_rx by Linux Kernel Mailing List on Tuesday, December 11, 2007 - 1:59 pm. (1 message)

Next thread: [BNX2]: Fix RX packet rot. by Linux Kernel Mailing List on Tuesday, December 11, 2007 - 1:59 pm. (1 message)
To: <git-commits-head@...>
Date: Tuesday, December 11, 2007 - 1:59 pm

Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=c...
Commit: 95a02cfd4d33886c166d4a5f309120f8d32ced58
Parent: 2017a72c070033830b460d31cd4703f9d2ec0d56
Author: Thomas Graf <tgraf@suug.ch>
AuthorDate: Mon Dec 10 16:53:29 2007 -0800
Committer: David S. Miller <davem@sunset.davemloft.net>
CommitDate: Tue Dec 11 02:45:27 2007 -0800

[IPv6] ESP: Discard dummy packets introduced in rfc4303

RFC4303 introduces dummy packets with a nexthdr value of 59
to implement traffic confidentiality. Such packets need to
be dropped silently and the payload may not be attempted to
be parsed as it consists of random chunk.

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
---
net/ipv6/esp6.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/net/ipv6/esp6.c b/net/ipv6/esp6.c
index 7db66f1..4440532 100644
--- a/net/ipv6/esp6.c
+++ b/net/ipv6/esp6.c
@@ -230,6 +230,12 @@ static int esp6_input(struct xfrm_state *x, struct sk_buff *skb)
}
/* ... check padding bits here. Silly. :-) */

+ /* RFC4303: Drop dummy packets without any error */
+ if (nexthdr[1] == IPPROTO_NONE) {
+ ret = -EINVAL;
+ goto out;
+ }
+
pskb_trim(skb, skb->len - alen - padlen - 2);
ret = nexthdr[1];
}
-

Previous thread: [UM]: Fix use of skb after netif_rx by Linux Kernel Mailing List on Tuesday, December 11, 2007 - 1:59 pm. (1 message)

Next thread: [BNX2]: Fix RX packet rot. by Linux Kernel Mailing List on Tuesday, December 11, 2007 - 1:59 pm. (1 message)