<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/sctp/bind_addr.c, branch linux-3.11.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.11.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.11.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2013-06-18T00:08:04Z</updated>
<entry>
<title>net: sctp: get rid of t_new macro for kzalloc</title>
<updated>2013-06-18T00:08:04Z</updated>
<author>
<name>Daniel Borkmann</name>
</author>
<published>2013-06-17T09:40:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=939cfa75a0cea97aa60cb88e3722baefdceb4e72'/>
<id>urn:sha1:939cfa75a0cea97aa60cb88e3722baefdceb4e72</id>
<content type='text'>
t_new rather obfuscates things where everyone else is using actual
function names instead of that macro, so replace it with kzalloc,
which is the function t_new wraps.

Signed-off-by: Daniel Borkmann &lt;dborkman@redhat.com&gt;
Acked-by: Vlad Yasevich &lt;vyasevich@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: sctp: sctp_bind_addr: remove dead code</title>
<updated>2013-04-17T18:13:02Z</updated>
<author>
<name>Daniel Borkmann</name>
</author>
<published>2013-04-16T11:07:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=50181c07cbde370986c4925b830ca291a2fc31ab'/>
<id>urn:sha1:50181c07cbde370986c4925b830ca291a2fc31ab</id>
<content type='text'>
The sctp_bind_addr structure has a 'malloced' member that is
always set to 0, thus in sctp_bind_addr_free() the kfree()
part can never be called. This part is embedded into
sctp_ep_common anyway and never alloced.

Signed-off-by: Daniel Borkmann &lt;dborkman@redhat.com&gt;
Acked-by: Neil Horman &lt;nhorman@tuxdriver.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>sctp: Make sysctl tunables per net</title>
<updated>2012-08-15T06:32:16Z</updated>
<author>
<name>Eric W. Biederman</name>
</author>
<published>2012-08-07T07:29:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e1fc3b14f9a90d9591016749289f2c3d7b35fbf4'/>
<id>urn:sha1:e1fc3b14f9a90d9591016749289f2c3d7b35fbf4</id>
<content type='text'>
Signed-off-by: "Eric W. Biederman" &lt;ebiederm@xmission.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>sctp: Push struct net down into sctp_in_scope</title>
<updated>2012-08-15T06:30:37Z</updated>
<author>
<name>Eric W. Biederman</name>
</author>
<published>2012-08-07T07:27:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e7ff4a7037e6908b7a5f4682945a0b097d5b3535'/>
<id>urn:sha1:e7ff4a7037e6908b7a5f4682945a0b097d5b3535</id>
<content type='text'>
struct net will be needed shortly when the tunables are made per network
namespace.

Signed-off-by: "Eric W. Biederman" &lt;ebiederm@xmission.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>sctp: Make the address lists per network namespace</title>
<updated>2012-08-15T06:12:17Z</updated>
<author>
<name>Eric W. Biederman</name>
</author>
<published>2012-08-06T08:42:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4db67e808640e3934d82ce61ee8e2e89fd877ba8'/>
<id>urn:sha1:4db67e808640e3934d82ce61ee8e2e89fd877ba8</id>
<content type='text'>
- Move the address lists into struct net
- Add per network namespace initialization and cleanup
- Pass around struct net so it is everywhere I need it.
- Rename all of the global variable references into references
  to the variables moved into struct net

Signed-off-by: "Eric W. Biederman" &lt;ebiederm@xmission.com&gt;
Acked-by: Vlad Yasevich &lt;vyasevich@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: Remove casts of void *</title>
<updated>2011-06-17T03:19:27Z</updated>
<author>
<name>Joe Perches</name>
</author>
<published>2011-06-13T16:21:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ea110733874d5176cb56dcf612a629ffac09dbf0'/>
<id>urn:sha1:ea110733874d5176cb56dcf612a629ffac09dbf0</id>
<content type='text'>
Unnecessary casts of void * clutter the code.

These are the remainder casts after several specific
patches to remove netdev_priv and dev_priv.

Done via coccinelle script:

$ cat cast_void_pointer.cocci
@@
type T;
T *pt;
void *pv;
@@

- pt = (T *)pv;
+ pt = pv;

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Acked-by: Paul Moore &lt;paul.moore@hp.com&gt;
Signed-off-by: David S. Miller &lt;davem@conan.davemloft.net&gt;
</content>
</entry>
<entry>
<title>sctp: Add Auto-ASCONF support (core).</title>
<updated>2011-06-02T09:04:53Z</updated>
<author>
<name>Michio Honda</name>
</author>
<published>2011-04-26T10:32:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9f7d653b67aed2d92540fbb0a8adaf32fcf352ae'/>
<id>urn:sha1:9f7d653b67aed2d92540fbb0a8adaf32fcf352ae</id>
<content type='text'>
SCTP reconfigure the IP addresses in the association by using
ASCONF chunks as mentioned in RFC5061.  For example, we can
start to use the newly configured IP address in the existing
association.  This patch implements automatic ASCONF operation
in the SCTP stack with address events in the host computer,
which is called auto_asconf.

Signed-off-by: Michio Honda &lt;micchie@sfc.wide.ad.jp&gt;
Signed-off-by: YOSHIFUJI Hideaki &lt;yoshfuji@linux-ipv6.org&gt;
Acked-by: Wei Yongjun &lt;yjwei@cn.fujitsu.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>sctp: Fix build failure.</title>
<updated>2011-05-21T06:10:23Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2011-05-21T06:10:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5d414521663295ce25c90164f4d41a07ac846468'/>
<id>urn:sha1:5d414521663295ce25c90164f4d41a07ac846468</id>
<content type='text'>
Commit c182f90bc1f22ce5039b8722e45621d5f96862c2 ("SCTP: fix race
between sctp_bind_addr_free() and sctp_bind_addr_conflict()") and
commit 1231f0baa547a541a7481119323b7f964dda4788 ("net,rcu: convert
call_rcu(sctp_local_addr_free) to kfree_rcu()"), happening in
different trees, introduced a build failure.

Simply make the SCTP race fix use kfree_rcu() too.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6</title>
<updated>2011-05-20T20:43:21Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2011-05-20T20:43:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=06f4e926d256d902dd9a53dcb400fd74974ce087'/>
<id>urn:sha1:06f4e926d256d902dd9a53dcb400fd74974ce087</id>
<content type='text'>
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1446 commits)
  macvlan: fix panic if lowerdev in a bond
  tg3: Add braces around 5906 workaround.
  tg3: Fix NETIF_F_LOOPBACK error
  macvlan: remove one synchronize_rcu() call
  networking: NET_CLS_ROUTE4 depends on INET
  irda: Fix error propagation in ircomm_lmp_connect_response()
  irda: Kill set but unused variable 'bytes' in irlan_check_command_param()
  irda: Kill set but unused variable 'clen' in ircomm_connect_indication()
  rxrpc: Fix set but unused variable 'usage' in rxrpc_get_transport()
  be2net: Kill set but unused variable 'req' in lancer_fw_download()
  irda: Kill set but unused vars 'saddr' and 'daddr' in irlan_provider_connect_indication()
  atl1c: atl1c_resume() is only used when CONFIG_PM_SLEEP is defined.
  rxrpc: Fix set but unused variable 'usage' in rxrpc_get_peer().
  rxrpc: Kill set but unused variable 'local' in rxrpc_UDP_error_handler()
  rxrpc: Kill set but unused variable 'sp' in rxrpc_process_connection()
  rxrpc: Kill set but unused variable 'sp' in rxrpc_rotate_tx_window()
  pkt_sched: Kill set but unused variable 'protocol' in tc_classify()
  isdn: capi: Use pr_debug() instead of ifdefs.
  tg3: Update version to 3.119
  tg3: Apply rx_discards fix to 5719/5720
  ...

Fix up trivial conflicts in arch/x86/Kconfig and net/mac80211/agg-tx.c
as per Davem.
</content>
</entry>
<entry>
<title>SCTP: fix race between sctp_bind_addr_free() and sctp_bind_addr_conflict()</title>
<updated>2011-05-19T21:13:04Z</updated>
<author>
<name>Jacek Luczak</name>
</author>
<published>2011-05-19T09:55:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c182f90bc1f22ce5039b8722e45621d5f96862c2'/>
<id>urn:sha1:c182f90bc1f22ce5039b8722e45621d5f96862c2</id>
<content type='text'>
During the sctp_close() call, we do not use rcu primitives to
destroy the address list attached to the endpoint.  At the same
time, we do the removal of addresses from this list before
attempting to remove the socket from the port hash

As a result, it is possible for another process to find the socket
in the port hash that is in the process of being closed.  It then
proceeds to traverse the address list to find the conflict, only
to have that address list suddenly disappear without rcu() critical
section.

Fix issue by closing address list removal inside RCU critical
section.

Race can result in a kernel crash with general protection fault or
kernel NULL pointer dereference:

kernel: general protection fault: 0000 [#1] SMP
kernel: RIP: 0010:[&lt;ffffffffa02f3dde&gt;]  [&lt;ffffffffa02f3dde&gt;] sctp_bind_addr_conflict+0x64/0x82 [sctp]
kernel: Call Trace:
kernel:  [&lt;ffffffffa02f415f&gt;] ? sctp_get_port_local+0x17b/0x2a3 [sctp]
kernel:  [&lt;ffffffffa02f3d45&gt;] ? sctp_bind_addr_match+0x33/0x68 [sctp]
kernel:  [&lt;ffffffffa02f4416&gt;] ? sctp_do_bind+0xd3/0x141 [sctp]
kernel:  [&lt;ffffffffa02f5030&gt;] ? sctp_bindx_add+0x4d/0x8e [sctp]
kernel:  [&lt;ffffffffa02f5183&gt;] ? sctp_setsockopt_bindx+0x112/0x4a4 [sctp]
kernel:  [&lt;ffffffff81089e82&gt;] ? generic_file_aio_write+0x7f/0x9b
kernel:  [&lt;ffffffffa02f763e&gt;] ? sctp_setsockopt+0x14f/0xfee [sctp]
kernel:  [&lt;ffffffff810c11fb&gt;] ? do_sync_write+0xab/0xeb
kernel:  [&lt;ffffffff810e82ab&gt;] ? fsnotify+0x239/0x282
kernel:  [&lt;ffffffff810c2462&gt;] ? alloc_file+0x18/0xb1
kernel:  [&lt;ffffffff8134a0b1&gt;] ? compat_sys_setsockopt+0x1a5/0x1d9
kernel:  [&lt;ffffffff8134aaf1&gt;] ? compat_sys_socketcall+0x143/0x1a4
kernel:  [&lt;ffffffff810467dc&gt;] ? sysenter_dispatch+0x7/0x32

Signed-off-by: Jacek Luczak &lt;luczak.jacek@gmail.com&gt;
Acked-by: Vlad Yasevich &lt;vladislav.yasevich@hp.com&gt;
CC: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Reviewed-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
