<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/net/ipv6/netfilter, branch v3.2.62</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/net/ipv6/netfilter?h=v3.2.62</id>
<link rel='self' href='https://git.amat.us/linux/atom/net/ipv6/netfilter?h=v3.2.62'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2014-06-09T12:28:55Z</updated>
<entry>
<title>netfilter: Can't fail and free after table replacement</title>
<updated>2014-06-09T12:28:55Z</updated>
<author>
<name>Thomas Graf</name>
<email>tgraf@suug.ch</email>
</author>
<published>2014-04-04T15:57:45Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a3bc0f8ea439762aa62d40a295157410498cbea7'/>
<id>urn:sha1:a3bc0f8ea439762aa62d40a295157410498cbea7</id>
<content type='text'>
commit c58dd2dd443c26d856a168db108a0cd11c285bf3 upstream.

All xtables variants suffer from the defect that the copy_to_user()
to copy the counters to user memory may fail after the table has
already been exchanged and thus exposed. Return an error at this
point will result in freeing the already exposed table. Any
subsequent packet processing will result in a kernel panic.

We can't copy the counters before exposing the new tables as we
want provide the counter state after the old table has been
unhooked. Therefore convert this into a silent error.

Cc: Florian Westphal &lt;fw@strlen.de&gt;
Signed-off-by: Thomas Graf &lt;tgraf@suug.ch&gt;
Signed-off-by: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>inet: limit length of fragment queue hash table bucket  lists</title>
<updated>2013-03-27T02:41:07Z</updated>
<author>
<name>Hannes Frederic Sowa</name>
<email>hannes@stressinduktion.org</email>
</author>
<published>2013-03-15T11:32:30Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0d14440d5614de0e9d0239e7a2870f271db3af39'/>
<id>urn:sha1:0d14440d5614de0e9d0239e7a2870f271db3af39</id>
<content type='text'>
[ Upstream commit 5a3da1fe9561828d0ca7eca664b16ec2b9bf0055 ]

This patch introduces a constant limit of the fragment queue hash
table bucket list lengths. Currently the limit 128 is choosen somewhat
arbitrary and just ensures that we can fill up the fragment cache with
empty packets up to the default ip_frag_high_thresh limits. It should
just protect from list iteration eating considerable amounts of cpu.

If we reach the maximum length in one hash bucket a warning is printed.
This is implemented on the caller side of inet_frag_find to distinguish
between the different users of inet_fragment.c.

I dropped the out of memory warning in the ipv4 fragment lookup path,
because we already get a warning by the slab allocator.

Cc: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Cc: Jesper Dangaard Brouer &lt;jbrouer@redhat.com&gt;
Signed-off-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Acked-by: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>netfilter: Remove NOTRACK/RAW dependency on NETFILTER_ADVANCED.</title>
<updated>2011-11-23T21:07:00Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2011-11-23T21:07:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=46a246c4dff9f248913e791b69f2336cd8d4ec41'/>
<id>urn:sha1:46a246c4dff9f248913e791b69f2336cd8d4ec41</id>
<content type='text'>
Distributions are using this in their default scripts, so don't hide
them behind the advanced setting.

Reported-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>netfilter: Remove unnecessary OOM logging messages</title>
<updated>2011-11-01T08:19:49Z</updated>
<author>
<name>Joe Perches</name>
<email>joe@perches.com</email>
</author>
<published>2011-08-29T21:17:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0a9ee81349d90c6c85831f38118bf569c60a4d51'/>
<id>urn:sha1:0a9ee81349d90c6c85831f38118bf569c60a4d51</id>
<content type='text'>
Site specific OOM messages are duplications of a generic MM
out of memory message and aren't really useful, so just
delete them.

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: Patrick McHardy &lt;kaber@trash.net&gt;
Signed-off-by: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
</content>
</entry>
<entry>
<title>net: add skb frag size accessors</title>
<updated>2011-10-19T07:10:46Z</updated>
<author>
<name>Eric Dumazet</name>
<email>eric.dumazet@gmail.com</email>
</author>
<published>2011-10-18T21:00:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9e903e085262ffbf1fc44a17ac06058aca03524a'/>
<id>urn:sha1:9e903e085262ffbf1fc44a17ac06058aca03524a</id>
<content type='text'>
To ease skb-&gt;truesize sanitization, its better to be able to localize
all references to skb frags size.

Define accessors : skb_frag_size() to fetch frag size, and
skb_frag_size_{set|add|sub}() to manipulate it.

Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>netfilter: nf_queue: reject NF_STOLEN verdicts from userspace</title>
<updated>2011-08-30T13:01:20Z</updated>
<author>
<name>Florian Westphal</name>
<email>fw@strlen.de</email>
</author>
<published>2011-08-30T13:01:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c6675233f9015d3c0460c8aab53ed9b99d915c64'/>
<id>urn:sha1:c6675233f9015d3c0460c8aab53ed9b99d915c64</id>
<content type='text'>
A userspace listener may send (bogus) NF_STOLEN verdict, which causes skb leak.

This problem was previously fixed via
64507fdbc29c3a622180378210ecea8659b14e40 (netfilter:
nf_queue: fix NF_STOLEN skb leak) but this had to be reverted because
NF_STOLEN can also be returned by a netfilter hook when iterating the
rules in nf_reinject.

Reject userspace NF_STOLEN verdict, as suggested by Michal Miroslaw.

This is complementary to commit fad54440438a7c231a6ae347738423cbabc936d9
(netfilter: avoid double free in nf_reinject).

Cc: Julian Anastasov &lt;ja@ssi.bg&gt;
Cc: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: Florian Westphal &lt;fw@strlen.de&gt;
Signed-off-by: Patrick McHardy &lt;kaber@trash.net&gt;
</content>
</entry>
<entry>
<title>netfilter: ip_queue: Fix small leak in ipq_build_packet_message()</title>
<updated>2011-07-29T14:38:49Z</updated>
<author>
<name>Jesper Juhl</name>
<email>jj@chaosbits.net</email>
</author>
<published>2011-07-29T14:38:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=91c66c6893a3e2bb8a88a30cb76007d5d49d32c9'/>
<id>urn:sha1:91c66c6893a3e2bb8a88a30cb76007d5d49d32c9</id>
<content type='text'>
ipq_build_packet_message() in net/ipv4/netfilter/ip_queue.c and
net/ipv6/netfilter/ip6_queue.c contain a small potential mem leak as
far as I can tell.

We allocate memory for 'skb' with alloc_skb() annd then call
 nlh = NLMSG_PUT(skb, 0, 0, IPQM_PACKET, size - sizeof(*nlh));

NLMSG_PUT is a macro
 NLMSG_PUT(skb, pid, seq, type, len) \
  		NLMSG_NEW(skb, pid, seq, type, len, 0)

that expands to NLMSG_NEW, which is also a macro which expands to:
 NLMSG_NEW(skb, pid, seq, type, len, flags) \
  	({	if (unlikely(skb_tailroom(skb) &lt; (int)NLMSG_SPACE(len))) \
  			goto nlmsg_failure; \
  		__nlmsg_put(skb, pid, seq, type, len, flags); })

If we take the true branch of the 'if' statement and 'goto
nlmsg_failure', then we'll, at that point, return from
ipq_build_packet_message() without having assigned 'skb' to anything
and we'll leak the memory we allocated for it when it goes out of
scope.

Fix this by placing a 'kfree(skb)' at 'nlmsg_failure'.

I admit that I do not know how likely this to actually happen or even
if there's something that guarantees that it will never happen - I'm
not that familiar with this code, but if that is so, I've not been
able to spot it.

Signed-off-by: Jesper Juhl &lt;jj@chaosbits.net&gt;
Signed-off-by: Patrick McHardy &lt;kaber@trash.net&gt;
</content>
</entry>
<entry>
<title>netfilter: fix looped (broad|multi)cast's MAC handling</title>
<updated>2011-06-16T15:27:04Z</updated>
<author>
<name>Nicolas Cavallari</name>
<email>cavallar@lri.fr</email>
</author>
<published>2011-06-16T15:27:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2c38de4c1f8da799bdca0e4bb40ca13f2174d3e8'/>
<id>urn:sha1:2c38de4c1f8da799bdca0e4bb40ca13f2174d3e8</id>
<content type='text'>
By default, when broadcast or multicast packet are sent from a local
application, they are sent to the interface then looped by the kernel
to other local applications, going throught netfilter hooks in the
process.

These looped packet have their MAC header removed from the skb by the
kernel looping code. This confuse various netfilter's netlink queue,
netlink log and the legacy ip_queue, because they try to extract a
hardware address from these packets, but extracts a part of the IP
header instead.

This patch prevent NFQUEUE, NFLOG and ip_QUEUE to include a MAC header
if there is none in the packet.

Signed-off-by: Nicolas Cavallari &lt;cavallar@lri.fr&gt;
Signed-off-by: Patrick McHardy &lt;kaber@trash.net&gt;
</content>
</entry>
<entry>
<title>netfilter: use unsigned variables for packet lengths in ip[6]_queue.</title>
<updated>2011-06-05T23:37:16Z</updated>
<author>
<name>Dave Jones</name>
<email>davej@redhat.com</email>
</author>
<published>2011-05-28T00:36:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d232b8dded624af3e346b13807a591c63b601c44'/>
<id>urn:sha1:d232b8dded624af3e346b13807a591c63b601c44</id>
<content type='text'>
Netlink message lengths can't be negative, so use unsigned variables.

Signed-off-by: Dave Jones &lt;davej@redhat.com&gt;
Signed-off-by: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
</content>
</entry>
<entry>
<title>netfilter: nf_conntrack: fix ct refcount leak in l4proto-&gt;error()</title>
<updated>2011-06-05T23:37:02Z</updated>
<author>
<name>Pablo Neira Ayuso</name>
<email>pablo@netfilter.org</email>
</author>
<published>2011-06-02T13:08:45Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=88ed01d17b44bc2bed4ad4835d3b1099bff3dd71'/>
<id>urn:sha1:88ed01d17b44bc2bed4ad4835d3b1099bff3dd71</id>
<content type='text'>
This patch fixes a refcount leak of ct objects that may occur if
l4proto-&gt;error() assigns one conntrack object to one skbuff. In
that case, we have to skip further processing in nf_conntrack_in().

With this patch, we can also fix wrong return values (-NF_ACCEPT)
for special cases in ICMP[v6] that should not bump the invalid/error
statistic counters.

Reported-by: Zoltan Menyhart &lt;Zoltan.Menyhart@bull.net&gt;
Signed-off-by: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
</content>
</entry>
</feed>
