From: pablo@netfilter.org
To: stable@kernel.org
Cc: netfilter-devel@vger.kernel.org,
Fernando Luis Vazquez Cao <fernando@oss.ntt.co.jp>,
Pablo Neira Ayuso <pablo@netfilter.org>
Subject: [PATCH 1/2] netfilter: IPv6: initialize TOS field in REJECT target module
Date: Mon, 6 Jun 2011 02:41:10 +0200 [thread overview]
Message-ID: <1307320871-31770-1-git-send-email-pablo@netfilter.org> (raw)
From: Fernando Luis Vazquez Cao <fernando@oss.ntt.co.jp>
The IPv6 header is not zeroed out in alloc_skb so we must initialize
it properly unless we want to see IPv6 packets with random TOS fields
floating around. The current implementation resets the flow label
but this could be changed if deemed necessary.
We stumbled upon this issue when trying to apply a mangle rule to
the RST packet generated by the REJECT target module.
The following Linux kernels are affected: <= 2.6.38.8
Cc: stable@kernel.org
Signed-off-by: Fernando Luis Vazquez Cao <fernando@oss.ntt.co.jp>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
(cherry picked from commit 4319cc0cf5bb894b7368008cdf6dd20eb8868018)
---
net/ipv6/netfilter/ip6t_REJECT.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/net/ipv6/netfilter/ip6t_REJECT.c b/net/ipv6/netfilter/ip6t_REJECT.c
index 28e7448..a5a4c5d 100644
--- a/net/ipv6/netfilter/ip6t_REJECT.c
+++ b/net/ipv6/netfilter/ip6t_REJECT.c
@@ -45,6 +45,8 @@ static void send_reset(struct net *net, struct sk_buff *oldskb)
int tcphoff, needs_ack;
const struct ipv6hdr *oip6h = ipv6_hdr(oldskb);
struct ipv6hdr *ip6h;
+#define DEFAULT_TOS_VALUE 0x0U
+ const __u8 tclass = DEFAULT_TOS_VALUE;
struct dst_entry *dst = NULL;
u8 proto;
struct flowi6 fl6;
@@ -124,7 +126,7 @@ static void send_reset(struct net *net, struct sk_buff *oldskb)
skb_put(nskb, sizeof(struct ipv6hdr));
skb_reset_network_header(nskb);
ip6h = ipv6_hdr(nskb);
- ip6h->version = 6;
+ *(__be32 *)ip6h = htonl(0x60000000 | (tclass << 20));
ip6h->hop_limit = ip6_dst_hoplimit(dst);
ip6h->nexthdr = IPPROTO_TCP;
ipv6_addr_copy(&ip6h->saddr, &oip6h->daddr);
--
1.7.2.5
next reply other threads:[~2011-06-06 0:41 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-06 0:41 pablo [this message]
2011-06-06 0:41 ` [PATCH 2/2] netfilter: IPv6: fix DSCP mangle code pablo
2011-06-06 13:44 ` Maciej Żenczykowski
2011-06-06 14:41 ` Jan Engelhardt
2011-06-16 8:36 ` [PATCH] iptables: document IPv6 TOS mangling bug in old Linux kernels Fernando Luis Vazquez Cao
2011-06-16 15:06 ` Jan Engelhardt
2011-06-16 15:15 ` Patrick McHardy
2011-06-17 1:11 ` Fernando Luis Vázquez Cao
2011-06-17 1:14 ` Fernando Luis Vázquez Cao
2011-06-17 3:47 ` Patrick McHardy
2011-08-02 1:00 ` [PATCH] iptables/man: IPv6 TOS mangling fix was backported to 2.6.35-longterm too Fernando Luis Vázquez Cao
2011-08-24 2:55 ` Fernando Luis Vazquez Cao
2011-08-26 13:16 ` Jan Engelhardt
2011-06-07 1:58 ` [PATCH 2/2] netfilter: IPv6: fix DSCP mangle code Fernando Luis Vázquez Cao
2011-06-07 4:15 ` Maciej Żenczykowski
2011-06-07 4:51 ` Fernando Luis Vázquez Cao
2011-06-07 4:55 ` Fernando Luis Vázquez Cao
2011-06-07 6:03 ` Maciej Żenczykowski
2011-06-06 17:36 ` [stable] [PATCH 1/2] netfilter: IPv6: initialize TOS field in REJECT target module Greg KH
2011-06-07 2:39 ` Fernando Luis Vázquez Cao
2011-06-15 0:11 ` Greg KH
2011-06-15 6:19 ` Fernando Luis Vázquez Cao
2011-06-15 19:25 ` Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1307320871-31770-1-git-send-email-pablo@netfilter.org \
--to=pablo@netfilter.org \
--cc=fernando@oss.ntt.co.jp \
--cc=netfilter-devel@vger.kernel.org \
--cc=stable@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).