<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/include/net/sock.h, branch linux-2.6.21.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-2.6.21.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-2.6.21.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2007-03-06T19:21:05Z</updated>
<entry>
<title>[NET]: Revert incorrect accept queue backlog changes.</title>
<updated>2007-03-06T19:21:05Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@sunset.davemloft.net</email>
</author>
<published>2007-03-06T19:21:05Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=64a146513f8f12ba204b7bf5cb7e9505594ead42'/>
<id>urn:sha1:64a146513f8f12ba204b7bf5cb7e9505594ead42</id>
<content type='text'>
This reverts two changes:

8488df894d05d6fa41c2bd298c335f944bb0e401
248f06726e866942b3d8ca8f411f9067713b7ff8

A backlog value of N really does mean allow "N + 1" connections
to queue to a listening socket.  This allows one to specify
"0" as the backlog and still get 1 connection.

Noticed by Gerrit Renker and Rick Jones.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[NET]: Fix bugs in "Whether sock accept queue is full" checking</title>
<updated>2007-03-03T04:37:33Z</updated>
<author>
<name>Wei Dong</name>
<email>weid@np.css.fujitsu.com</email>
</author>
<published>2007-03-02T20:37:26Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=8488df894d05d6fa41c2bd298c335f944bb0e401'/>
<id>urn:sha1:8488df894d05d6fa41c2bd298c335f944bb0e401</id>
<content type='text'>
	when I use linux TCP socket, and find there is a bug in function
sk_acceptq_is_full().

	When a new SYN comes, TCP module first checks its validation. If valid,
send SYN,ACK to the client and add the sock to the syn hash table. Next
time if received the valid ACK for SYN,ACK from the client. server will
accept this connection and increase the sk-&gt;sk_ack_backlog -- which is
done in function tcp_check_req().We check wether acceptq is full in
function tcp_v4_syn_recv_sock().

Consider an example:

 After listen(sockfd, 1) system call, sk-&gt;sk_max_ack_backlog is set to
1. As we know, sk-&gt;sk_ack_backlog is initialized to 0. Assuming accept()
system call is not invoked now.

1. 1st connection comes. invoke sk_acceptq_is_full(). sk-
&gt;sk_ack_backlog=0 sk-&gt;sk_max_ack_backlog=1, function return 0 accept
this connection. Increase the sk-&gt;sk_ack_backlog
2. 2nd connection comes. invoke sk_acceptq_is_full(). sk-
&gt;sk_ack_backlog=1 sk-&gt;sk_max_ack_backlog=1, function return 0 accept
this connection. Increase the sk-&gt;sk_ack_backlog
3. 3rd connection comes. invoke sk_acceptq_is_full(). sk-
&gt;sk_ack_backlog=2 sk-&gt;sk_max_ack_backlog=1, function return 1. Refuse
this connection.

I think it has bugs. after listen system call. sk-&gt;sk_max_ack_backlog=1
but now it can accept 2 connections.

Signed-off-by: Wei Dong &lt;weid@np.css.fujitsu.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[NET]: Handle disabled preemption in gfp_any()</title>
<updated>2007-02-28T17:42:13Z</updated>
<author>
<name>Patrick McHardy</name>
<email>kaber@trash.net</email>
</author>
<published>2007-02-27T17:56:42Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=4498121ca3acbf928681b71261227d28dc29b6f6'/>
<id>urn:sha1:4498121ca3acbf928681b71261227d28dc29b6f6</id>
<content type='text'>
ctnetlink uses netlink_unicast from an atomic_notifier_chain
(which is called within a RCU read side critical section)
without holding further locks. netlink_unicast calls netlink_trim
with the result of gfp_any() for the gfp flags, which are passed
down to pskb_expand_header. gfp_any() only checks for softirq
context and returns GFP_KERNEL, resulting in this warning:

BUG: sleeping function called from invalid context at mm/slab.c:3032
in_atomic():1, irqs_disabled():0
no locks held by rmmod/7010.

Call Trace:
 [&lt;ffffffff8109467f&gt;] debug_show_held_locks+0x9/0xb
 [&lt;ffffffff8100b0b4&gt;] __might_sleep+0xd9/0xdb
 [&lt;ffffffff810b5082&gt;] __kmalloc+0x68/0x110
 [&lt;ffffffff811ba8f2&gt;] pskb_expand_head+0x4d/0x13b
 [&lt;ffffffff81053147&gt;] netlink_broadcast+0xa5/0x2e0
 [&lt;ffffffff881cd1d7&gt;] :nfnetlink:nfnetlink_send+0x83/0x8a
 [&lt;ffffffff8834f6a6&gt;] :nf_conntrack_netlink:ctnetlink_conntrack_event+0x94c/0x96a
 [&lt;ffffffff810624d6&gt;] notifier_call_chain+0x29/0x3e
 [&lt;ffffffff8106251d&gt;] atomic_notifier_call_chain+0x32/0x60
 [&lt;ffffffff881d266d&gt;] :nf_conntrack:destroy_conntrack+0xa5/0x1d3
 [&lt;ffffffff881d194e&gt;] :nf_conntrack:nf_ct_cleanup+0x8c/0x12c
 [&lt;ffffffff881d4614&gt;] :nf_conntrack:kill_l3proto+0x0/0x13
 [&lt;ffffffff881d482a&gt;] :nf_conntrack:nf_conntrack_l3proto_unregister+0x90/0x94
 [&lt;ffffffff883551b3&gt;] :nf_conntrack_ipv4:nf_conntrack_l3proto_ipv4_fini+0x2b/0x5d
 [&lt;ffffffff8109d44f&gt;] sys_delete_module+0x1b5/0x1e6
 [&lt;ffffffff8105f245&gt;] trace_hardirqs_on_thunk+0x35/0x37
 [&lt;ffffffff8105911e&gt;] system_call+0x7e/0x83

Since netlink_unicast is supposed to be callable from within RCU
read side critical sections, make gfp_any() check for in_atomic()
instead of in_softirq().

Additionally nfnetlink_send needs to use gfp_any() as well for the
call to netlink_broadcast).

Signed-off-by: Patrick McHardy &lt;kaber@trash.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[PATCH] lockdep: annotate nfs/nfsd in-kernel sockets</title>
<updated>2006-12-07T16:39:30Z</updated>
<author>
<name>Peter Zijlstra</name>
<email>a.p.zijlstra@chello.nl</email>
</author>
<published>2006-12-07T04:35:24Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=ed07536ed6731775219c1df7fa26a7588753e693'/>
<id>urn:sha1:ed07536ed6731775219c1df7fa26a7588753e693</id>
<content type='text'>
Stick NFS sockets in their own class to avoid some lockdep warnings.  NFS
sockets are never exposed to user-space, and will hence not trigger certain
code paths that would otherwise pose deadlock scenarios.

[akpm@osdl.org: cleanups]
Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Signed-off-by: Steven Dickson &lt;SteveD@redhat.com&gt;
Acked-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: Trond Myklebust &lt;trond.myklebust@fys.uio.no&gt;
Acked-by: Neil Brown &lt;neilb@suse.de&gt;
Cc: "David S. Miller" &lt;davem@davemloft.net&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
[ Fixed patch corruption by quilt, pointed out by Peter Zijlstra ]
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] slab: remove kmem_cache_t</title>
<updated>2006-12-07T16:39:25Z</updated>
<author>
<name>Christoph Lameter</name>
<email>clameter@sgi.com</email>
</author>
<published>2006-12-07T04:33:20Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=e18b890bb0881bbab6f4f1a6cd20d9c60d66b003'/>
<id>urn:sha1:e18b890bb0881bbab6f4f1a6cd20d9c60d66b003</id>
<content type='text'>
Replace all uses of kmem_cache_t with struct kmem_cache.

The patch was generated using the following script:

	#!/bin/sh
	#
	# Replace one string by another in all the kernel sources.
	#

	set -e

	for file in `find * -name "*.c" -o -name "*.h"|xargs grep -l $1`; do
		quilt add $file
		sed -e "1,\$s/$1/$2/g" $file &gt;/tmp/$$
		mv /tmp/$$ $file
		quilt refresh
	done

The script was run like this

	sh replace kmem_cache_t "struct kmem_cache"

Signed-off-by: Christoph Lameter &lt;clameter@sgi.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] severing skbuff.h -&gt; mm.h</title>
<updated>2006-12-04T07:00:34Z</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2006-12-04T04:15:30Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=d7fe0f241dceade9c8d4af75498765c5ff7f27e6'/>
<id>urn:sha1:d7fe0f241dceade9c8d4af75498765c5ff7f27e6</id>
<content type='text'>
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>[NET]: Conditionally use bh_lock_sock_nested in sk_receive_skb</title>
<updated>2006-12-03T05:23:51Z</updated>
<author>
<name>Arnaldo Carvalho de Melo</name>
<email>acme@mandriva.com</email>
</author>
<published>2006-11-16T16:06:06Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=58a5a7b9555ea231b557ebef5cabeaf8e951df0b'/>
<id>urn:sha1:58a5a7b9555ea231b557ebef5cabeaf8e951df0b</id>
<content type='text'>
Spotted by Ian McDonald, tentatively fixed by Gerrit Renker:

http://www.mail-archive.com/dccp%40vger.kernel.org/msg00599.html

Rewritten not to unroll sk_receive_skb, in the common case, i.e. no lock
debugging, its optimized away.

Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@mandriva.com&gt;
</content>
</entry>
<entry>
<title>[NET]: Annotate callers of csum_partial_copy_...() and csum_and_copy...() in net/*</title>
<updated>2006-12-03T05:23:33Z</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2006-11-15T05:36:34Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=5084205faf45384fff25c4cf77dd5c96279283ad'/>
<id>urn:sha1:5084205faf45384fff25c4cf77dd5c96279283ad</id>
<content type='text'>
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[BLUETOOTH] lockdep: annotate sk_lock nesting in AF_BLUETOOTH</title>
<updated>2006-12-03T05:21:35Z</updated>
<author>
<name>Peter Zijlstra</name>
<email>a.p.zijlstra@chello.nl</email>
</author>
<published>2006-11-09T06:44:35Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=fcc70d5fdc9b0bd3e99c9dacb8198224af2b4b42'/>
<id>urn:sha1:fcc70d5fdc9b0bd3e99c9dacb8198224af2b4b42</id>
<content type='text'>
=============================================
[ INFO: possible recursive locking detected ]
2.6.18-1.2726.fc6 #1
</content>
</entry>
<entry>
<title>[NET]: Re-fix of doc-comment in sock.h</title>
<updated>2006-11-25T23:16:51Z</updated>
<author>
<name>Paul Bonser</name>
<email>misterpib@gmail.com</email>
</author>
<published>2006-11-24T01:56:13Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=dc9b334622bff6d22456917a034c2e2d194b9328'/>
<id>urn:sha1:dc9b334622bff6d22456917a034c2e2d194b9328</id>
<content type='text'>
Restoring old, correct comment for sk_filter_release, moving it to
where it should actually be, and changing new comment into proper
comment for sk_filter_rcu_free, where it actually makes sense.

The original fix submitted for this on Oct 23 mistakenly documented
the wrong function.

Signed-off-by: Paul Bonser &lt;misterpib@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
