<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/dccp/dccp.h, branch linux-4.5.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.5.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.5.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2015-10-23T12:42:21Z</updated>
<entry>
<title>tcp/dccp: fix hashdance race for passive sessions</title>
<updated>2015-10-23T12:42:21Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2015-10-22T15:20:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5e0724d027f0548511a2165a209572d48fe7a4c8'/>
<id>urn:sha1:5e0724d027f0548511a2165a209572d48fe7a4c8</id>
<content type='text'>
Multiple cpus can process duplicates of incoming ACK messages
matching a SYN_RECV request socket. This is a rare event under
normal operations, but definitely can happen.

Only one must win the race, otherwise corruption would occur.

To fix this without adding new atomic ops, we use logic in
inet_ehash_nolisten() to detect the request was present in the same
ehash bucket where we try to insert the new child.

If request socket was not found, we have to undo the child creation.

This actually removes a spin_lock()/spin_unlock() pair in
reqsk_queue_unlink() for the fast path.

Fixes: e994b2f0fb92 ("tcp: do not lock listener to process SYN packets")
Fixes: 079096f103fa ("tcp/dccp: install syn_recv requests into ehash table")
Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net/dccp: dccp_bad_service_code can be boolean</title>
<updated>2015-10-09T14:49:03Z</updated>
<author>
<name>Yaowei Bai</name>
</author>
<published>2015-10-08T13:28:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=45ae74f56162e7a017c3a4e130cf1bcd8d2d17cc'/>
<id>urn:sha1:45ae74f56162e7a017c3a4e130cf1bcd8d2d17cc</id>
<content type='text'>
This patch makes dccp_bad_service_code return bool due to these
particular functions only using either one or zero as their return
value.

dccp_list_has_service is also been made return bool in this patchset.

No functional change.

Signed-off-by: Yaowei Bai &lt;bywxiaobai@163.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>tcp/dccp: constify syn_recv_sock() method sock argument</title>
<updated>2015-09-29T23:53:09Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2015-09-29T14:42:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0c27171e66d94f9121fc00e87407ca7103bb6649'/>
<id>urn:sha1:0c27171e66d94f9121fc00e87407ca7103bb6649</id>
<content type='text'>
We'll soon no longer hold listener socket lock, these
functions do not modify the socket in any way.

Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>dccp: constify dccp_create_openreq_child() sock argument</title>
<updated>2015-09-29T23:53:08Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2015-09-29T14:42:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=54105f98f544ec5305bf1fad292ca454ad55ef67'/>
<id>urn:sha1:54105f98f544ec5305bf1fad292ca454ad55ef67</id>
<content type='text'>
socket no longer needs to be read/write

Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>tcp/dccp: constify send_synack and send_reset socket argument</title>
<updated>2015-09-29T23:53:07Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2015-09-29T14:42:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a00e74442bac5ad19a929d097370da7e07540ea6'/>
<id>urn:sha1:a00e74442bac5ad19a929d097370da7e07540ea6</id>
<content type='text'>
None of these functions need to change the socket, make it
const.

Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>dccp: constify dccp_make_response() socket argument</title>
<updated>2015-09-25T20:00:39Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2015-09-25T14:39:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=802885fc0400d0166a6b65d1844b61696aecbb10'/>
<id>urn:sha1:802885fc0400d0166a6b65d1844b61696aecbb10</id>
<content type='text'>
Like tcp_make_synack() the only time we might change the socket is
when calling sock_wmalloc(), which is using atomic operation to
update sk-&gt;sk_wmem_alloc

Also use MAX_DCCP_HEADER as both IPv4/IPv6 use this value for max_header.

Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ipv4: dccp: handle ICMP messages on DCCP_NEW_SYN_RECV request sockets</title>
<updated>2015-03-23T20:52:26Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2015-03-22T17:22:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=85645bab57bfc6b0b43bb96a301c4ef83925c07d'/>
<id>urn:sha1:85645bab57bfc6b0b43bb96a301c4ef83925c07d</id>
<content type='text'>
dccp_v4_err() can restrict lookups to ehash table, and not to listeners.

Note this patch creates the infrastructure, but this means that ICMP
messages for request sockets are ignored until complete conversion.

New dccp_req_err() helper is exported so that we can use it in IPv6
in following patch.

Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>inet: drop prev pointer handling in request sock</title>
<updated>2015-03-20T16:40:25Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2015-03-20T02:04:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=52452c542559ac980b48dbf22a30ee7fa0af507c'/>
<id>urn:sha1:52452c542559ac980b48dbf22a30ee7fa0af507c</id>
<content type='text'>
When request sock are put in ehash table, the whole notion
of having a previous request to update dl_next is pointless.

Also, following patch will get rid of big purge timer,
so we want to delete a request sock without holding listener lock.

Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: Remove iocb argument from sendmsg and recvmsg</title>
<updated>2015-03-02T18:06:31Z</updated>
<author>
<name>Ying Xue</name>
</author>
<published>2015-03-02T07:37:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1b784140474e4fc94281a49e96c67d29df0efbde'/>
<id>urn:sha1:1b784140474e4fc94281a49e96c67d29df0efbde</id>
<content type='text'>
After TIPC doesn't depend on iocb argument in its internal
implementations of sendmsg() and recvmsg() hooks defined in proto
structure, no any user is using iocb argument in them at all now.
Then we can drop the redundant iocb argument completely from kinds of
implementations of both sendmsg() and recvmsg() in the entire
networking stack.

Cc: Christoph Hellwig &lt;hch@lst.de&gt;
Suggested-by: Al Viro &lt;viro@ZenIV.linux.org.uk&gt;
Signed-off-by: Ying Xue &lt;ying.xue@windriver.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>dccp: Convert DCCP_WARN to net_warn_ratelimited</title>
<updated>2014-11-09T02:22:54Z</updated>
<author>
<name>Joe Perches</name>
</author>
<published>2014-11-06T20:53:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c0560b9c523341516eabf0f3b51832256caa7bbb'/>
<id>urn:sha1:c0560b9c523341516eabf0f3b51832256caa7bbb</id>
<content type='text'>
Remove the dependency on the "warning" sysctl (net_msg_warn)
which is only used by the LIMIT_NETDEBUG macro.

Convert the LIMIT_NETDEBUG use in DCCP_WARN to the more
common net_warn_ratelimited mechanism.

This still ratelimits based on the net_ratelimit()
function, but removes the check for the sysctl.

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
