<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/ipv4/syncookies.c, branch linux-2.6.32.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.32.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.32.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2013-06-10T09:43:31Z</updated>
<entry>
<title>inet: add RCU protection to inet-&gt;opt</title>
<updated>2013-06-10T09:43:31Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2011-04-21T09:45:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b8710128e201bc0d628d9644454585925a6e59fd'/>
<id>urn:sha1:b8710128e201bc0d628d9644454585925a6e59fd</id>
<content type='text'>
commit f6d8bd051c391c1c0458a30b2a7abcd939329259 upstream.

We lack proper synchronization to manipulate inet-&gt;opt ip_options

Problem is ip_make_skb() calls ip_setup_cork() and
ip_setup_cork() possibly makes a copy of ipc-&gt;opt (struct ip_options),
without any protection against another thread manipulating inet-&gt;opt.

Another thread can change inet-&gt;opt pointer and free old one under us.

Use RCU to protect inet-&gt;opt (changed to inet-&gt;inet_opt).

Instead of handling atomic refcounts, just copy ip_options when
necessary, to avoid cache line dirtying.

We cant insert an rcu_head in struct ip_options since its included in
skb-&gt;cb[], so this patch is large because I had to introduce a new
ip_options_rcu structure.

Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Cc: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
[dannf/bwh: backported to Debian's 2.6.32]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Signed-off-by: Willy Tarreau &lt;w@1wt.eu&gt;
</content>
</entry>
<entry>
<title>percpu: clean up percpu variable definitions</title>
<updated>2009-06-24T06:13:48Z</updated>
<author>
<name>Tejun Heo</name>
</author>
<published>2009-06-24T06:13:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=245b2e70eabd797932adb263a65da0bab3711753'/>
<id>urn:sha1:245b2e70eabd797932adb263a65da0bab3711753</id>
<content type='text'>
Percpu variable definition is about to be updated such that all percpu
symbols including the static ones must be unique.  Update percpu
variable definitions accordingly.

* as,cfq: rename ioc_count uniquely

* cpufreq: rename cpu_dbs_info uniquely

* xen: move nesting_count out of xen_evtchn_do_upcall() and rename it

* mm: move ratelimits out of balance_dirty_pages_ratelimited_nr() and
  rename it

* ipv4,6: rename cookie_scratch uniquely

* x86 perf_counter: rename prev_left to pmc_prev_left, irq_entry to
  pmc_irq_entry and nmi_entry to pmc_nmi_entry

* perf_counter: rename disable_count to perf_disable_count

* ftrace: rename test_event_disable to ftrace_test_event_disable

* kmemleak: rename test_pointer to kmemleak_test_pointer

* mce: rename next_interval to mce_next_interval

[ Impact: percpu usage cleanups, no duplicate static percpu var names ]

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Reviewed-by: Christoph Lameter &lt;cl@linux-foundation.org&gt;
Cc: Ivan Kokshaysky &lt;ink@jurassic.park.msu.ru&gt;
Cc: Jens Axboe &lt;jens.axboe@oracle.com&gt;
Cc: Dave Jones &lt;davej@redhat.com&gt;
Cc: Jeremy Fitzhardinge &lt;jeremy@xensource.com&gt;
Cc: linux-mm &lt;linux-mm@kvack.org&gt;
Cc: David S. Miller &lt;davem@davemloft.net&gt;
Cc: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Cc: Steven Rostedt &lt;srostedt@redhat.com&gt;
Cc: Li Zefan &lt;lizf@cn.fujitsu.com&gt;
Cc: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Cc: Andi Kleen &lt;andi@firstfloor.org&gt;
</content>
</entry>
<entry>
<title>percpu: cleanup percpu array definitions</title>
<updated>2009-06-24T06:13:45Z</updated>
<author>
<name>Tejun Heo</name>
</author>
<published>2009-06-24T06:13:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=204fba4aa303ea4a7bb726a539bf4a5b9e3203d0'/>
<id>urn:sha1:204fba4aa303ea4a7bb726a539bf4a5b9e3203d0</id>
<content type='text'>
Currently, the following three different ways to define percpu arrays
are in use.

1. DEFINE_PER_CPU(elem_type[array_len], array_name);
2. DEFINE_PER_CPU(elem_type, array_name[array_len]);
3. DEFINE_PER_CPU(elem_type, array_name)[array_len];

Unify to #1 which correctly separates the roles of the two parameters
and thus allows more flexibility in the way percpu variables are
defined.

[ Impact: cleanup ]

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Reviewed-by: Christoph Lameter &lt;cl@linux-foundation.org&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: Tony Luck &lt;tony.luck@intel.com&gt;
Cc: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Jeremy Fitzhardinge &lt;jeremy@xensource.com&gt;
Cc: linux-mm@kvack.org
Cc: Christoph Lameter &lt;cl@linux-foundation.org&gt;
Cc: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>syncookies: remove last_synq_overflow from struct tcp_sock</title>
<updated>2009-04-20T09:25:26Z</updated>
<author>
<name>Florian Westphal</name>
</author>
<published>2009-04-19T09:43:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a0f82f64e26929776c58a5c93c2ecb38e3d82815'/>
<id>urn:sha1:a0f82f64e26929776c58a5c93c2ecb38e3d82815</id>
<content type='text'>
last_synq_overflow eats 4 or 8 bytes in struct tcp_sock, even
though it is only used when a listening sockets syn queue
is full.

We can (ab)use rx_opt.ts_recent_stamp to store the same information;
it is not used otherwise as long as a socket is in listen state.

Move linger2 around to avoid splitting struct mtu_probe
across cacheline boundary on 32 bit arches.

Signed-off-by: Florian Westphal &lt;fw@strlen.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>lsm: Relocate the IPv4 security_inet_conn_request() hooks</title>
<updated>2009-03-28T04:01:36Z</updated>
<author>
<name>Paul Moore</name>
</author>
<published>2009-03-27T21:10:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=284904aa79466a4736f4c775fdbe5c7407fa136c'/>
<id>urn:sha1:284904aa79466a4736f4c775fdbe5c7407fa136c</id>
<content type='text'>
The current placement of the security_inet_conn_request() hooks do not allow
individual LSMs to override the IP options of the connection's request_sock.
This is a problem as both SELinux and Smack have the ability to use labeled
networking protocols which make use of IP options to carry security attributes
and the inability to set the IP options at the start of the TCP handshake is
problematic.

This patch moves the IPv4 security_inet_conn_request() hooks past the code
where the request_sock's IP options are set/reset so that the LSM can safely
manipulate the IP options as needed.  This patch intentionally does not change
the related IPv6 hooks as IPv6 based labeling protocols which use IPv6 options
are not currently implemented, once they are we will have a better idea of
the correct placement for the IPv6 hooks.

Signed-off-by: Paul Moore &lt;paul.moore@hp.com&gt;
Acked-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: James Morris &lt;jmorris@namei.org&gt;
</content>
</entry>
<entry>
<title>tcp: Port redirection support for TCP</title>
<updated>2008-10-01T14:46:49Z</updated>
<author>
<name>KOVACS Krisztian</name>
</author>
<published>2008-10-01T14:46:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a3116ac5c216fc3c145906a46df9ce542ff7dcf2'/>
<id>urn:sha1:a3116ac5c216fc3c145906a46df9ce542ff7dcf2</id>
<content type='text'>
Current TCP code relies on the local port of the listening socket
being the same as the destination address of the incoming
connection. Port redirection used by many transparent proxying
techniques obviously breaks this, so we have to store the original
destination port address.

This patch extends struct inet_request_sock and stores the incoming
destination port value there. It also modifies the handshake code to
use that value as the source port when sending reply packets.

Signed-off-by: KOVACS Krisztian &lt;hidden@sch.bme.hu&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ipv4: Make Netfilter's ip_route_me_harder() non-local address compatible</title>
<updated>2008-10-01T14:44:42Z</updated>
<author>
<name>KOVACS Krisztian</name>
</author>
<published>2008-10-01T14:44:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=86b08d867d7de001ab224180ed7865fab93fd56e'/>
<id>urn:sha1:86b08d867d7de001ab224180ed7865fab93fd56e</id>
<content type='text'>
Netfilter's ip_route_me_harder() tries to re-route packets either
generated or re-routed by Netfilter. This patch changes
ip_route_me_harder() to handle packets from non-locally-bound sockets
with IP_TRANSPARENT set as local and to set the appropriate flowi
flags when re-doing the routing lookup.

Signed-off-by: KOVACS Krisztian &lt;hidden@sch.bme.hu&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>syncookies: Make sure ECN is disabled</title>
<updated>2008-07-26T09:21:54Z</updated>
<author>
<name>Florian Westphal</name>
</author>
<published>2008-07-26T09:21:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=16df845f4566bc252f3e09db12f5c2f22cb44226'/>
<id>urn:sha1:16df845f4566bc252f3e09db12f5c2f22cb44226</id>
<content type='text'>
ecn_ok is not initialized when a connection is established by cookies.
The cookie syn-ack never sets ECN, so ecn_ok must be set to 0.

Spotted using ns-3/network simulation cradle simulator and valgrind.

Signed-off-by: Florian Westphal &lt;fw@strlen.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>mib: add net to NET_INC_STATS_BH</title>
<updated>2008-07-17T03:31:16Z</updated>
<author>
<name>Pavel Emelyanov</name>
</author>
<published>2008-07-17T03:31:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=de0744af1fe2d0a3d428f6af0f2fe1f6179b1a9c'/>
<id>urn:sha1:de0744af1fe2d0a3d428f6af0f2fe1f6179b1a9c</id>
<content type='text'>
Signed-off-by: Pavel Emelyanov &lt;xemul@openvz.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6</title>
<updated>2008-06-14T03:52:39Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2008-06-14T03:52:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4ae127d1b6c71f9240dd4245f240e6dd8fc98014'/>
<id>urn:sha1:4ae127d1b6c71f9240dd4245f240e6dd8fc98014</id>
<content type='text'>
Conflicts:

	drivers/net/smc911x.c
</content>
</entry>
</feed>
