<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/net/decnet, branch v2.6.13</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v2.6.13</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v2.6.13'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2005-08-17T19:05:27Z</updated>
<entry>
<title>[DECNET]: Fix RCU race condition in dn_neigh_construct().</title>
<updated>2005-08-17T19:05:27Z</updated>
<author>
<name>Paul E. McKenney</name>
<email>paulmck@us.ibm.com</email>
</author>
<published>2005-08-17T19:05:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=1f07247de51efd30c88ad8e3e06a8b5382fc7d35'/>
<id>urn:sha1:1f07247de51efd30c88ad8e3e06a8b5382fc7d35</id>
<content type='text'>
Signed-off-by: Paul E. McKenney &lt;paulmck@us.ibm.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;

</content>
</entry>
<entry>
<title>[DECNET]: Use sk_stream_error function rather than DECnet's own</title>
<updated>2005-08-10T18:32:57Z</updated>
<author>
<name>Steven Whitehouse</name>
<email>steve@chygwyn.com</email>
</author>
<published>2005-08-10T18:32:57Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=001ab02a8c04f0b4dc773c474da698ad7405ae68'/>
<id>urn:sha1:001ab02a8c04f0b4dc773c474da698ad7405ae68</id>
<content type='text'>
Signed-off-by: Steven Whitehouse &lt;steve@chygwyn.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[NET]: move config options out to individual protocols</title>
<updated>2005-07-12T04:13:56Z</updated>
<author>
<name>Sam Ravnborg</name>
<email>sam@ravnborg.org</email>
</author>
<published>2005-07-12T04:13:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=6a2e9b738cb5c929df73b6acabdd8f9a4e9a0416'/>
<id>urn:sha1:6a2e9b738cb5c929df73b6acabdd8f9a4e9a0416</id>
<content type='text'>
Move the protocol specific config options out to the specific protocols.
With this change net/Kconfig now starts to become readable and serve as a
good basis for further re-structuring.

The menu structure is left almost intact, except that indention is
fixed in most cases. Most visible are the INET changes where several
"depends on INET" are replaced with a single ifdef INET / endif pair.

Several new files were created to accomplish this change - they are
small but serve the purpose that config options are now distributed
out where they belongs.

Signed-off-by: Sam Ravnborg &lt;sam@ravnborg.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[NET]: Transform skb_queue_len() binary tests into skb_queue_empty()</title>
<updated>2005-07-08T21:57:23Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2005-07-08T21:57:23Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=b03efcfb2180289718991bb984044ce6c5b7d1b0'/>
<id>urn:sha1:b03efcfb2180289718991bb984044ce6c5b7d1b0</id>
<content type='text'>
This is part of the grand scheme to eliminate the qlen
member of skb_queue_head, and subsequently remove the
'list' member of sk_buff.

Most users of skb_queue_len() want to know if the queue is
empty or not, and that's trivially done with skb_queue_empty()
which doesn't use the skb_queue_head-&gt;qlen member and instead
uses the queue list emptyness as the test.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[DECNET]: Fix memset overflow on 64bit archs while dumping decnet routing rules</title>
<updated>2005-07-05T22:01:25Z</updated>
<author>
<name>Thomas Graf</name>
<email>tgraf@suug.ch</email>
</author>
<published>2005-07-05T22:01:25Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=db1322b8012e1a8ad711c04813817328cff46718'/>
<id>urn:sha1:db1322b8012e1a8ad711c04813817328cff46718</id>
<content type='text'>
Signed-off-by: Thomas Graf &lt;tgraf@suug.ch&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[DECNET]: Remove unnecessary initilization of unused variable entries</title>
<updated>2005-06-19T05:55:02Z</updated>
<author>
<name>Thomas Graf</name>
<email>tgraf@suug.ch</email>
</author>
<published>2005-06-19T05:55:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=58b82150da90681a4179db1bc94d412938e81b31'/>
<id>urn:sha1:58b82150da90681a4179db1bc94d412938e81b31</id>
<content type='text'>
This patch was supposed to be part of the neighbour tables related
patchset but apparently got lost.

Signed-off-by: Thomas Graf &lt;tgraf@suug.ch&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[NETLINK]: Correctly set NLM_F_MULTI without checking the pid</title>
<updated>2005-06-19T05:54:12Z</updated>
<author>
<name>Jamal Hadi Salim</name>
<email>hadi@cyberus.ca</email>
</author>
<published>2005-06-19T05:54:12Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=b6544c0b4cf2bd96195f3cdb7cebfb35090fc557'/>
<id>urn:sha1:b6544c0b4cf2bd96195f3cdb7cebfb35090fc557</id>
<content type='text'>
This patch rectifies some rtnetlink message builders that derive the
flags from the pid. It is now explicit like the other cases
which get it right. Also fixes half a dozen dumpers which did not
set NLM_F_MULTI at all.

Signed-off-by: Jamal Hadi Salim &lt;hadi@cyberus.ca&gt;
Signed-off-by: Thomas Graf &lt;tgraf@suug.ch&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[DECNET]: Fix build after C99 netlink initializer change.</title>
<updated>2005-05-05T20:13:29Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rjw@sisk.pl</email>
</author>
<published>2005-05-05T20:13:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=25ae3f59b10dbd5e2b9b192ecc90ea935cc23e68'/>
<id>urn:sha1:25ae3f59b10dbd5e2b9b192ecc90ea935cc23e68</id>
<content type='text'>
Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;</content>
</entry>
<entry>
<title>[NETLINK]: Fix infinite loops in synchronous netlink changes.</title>
<updated>2005-05-03T22:30:05Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@sunset.davemloft.net</email>
</author>
<published>2005-05-03T22:30:05Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=09e14305982efc2f3b509d3c50ef5dcbff64a998'/>
<id>urn:sha1:09e14305982efc2f3b509d3c50ef5dcbff64a998</id>
<content type='text'>
The qlen should continue to decrement, even if we
pop partially processed SKBs back onto the receive queue.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[NETLINK]: Synchronous message processing.</title>
<updated>2005-05-03T21:55:09Z</updated>
<author>
<name>Herbert Xu</name>
<email>herbert@gondor.apana.org.au</email>
</author>
<published>2005-05-03T21:55:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=2a0a6ebee1d68552152ae8d4aeda91d806995dec'/>
<id>urn:sha1:2a0a6ebee1d68552152ae8d4aeda91d806995dec</id>
<content type='text'>
Let's recap the problem.  The current asynchronous netlink kernel
message processing is vulnerable to these attacks:

1) Hit and run: Attacker sends one or more messages and then exits
before they're processed.  This may confuse/disable the next netlink
user that gets the netlink address of the attacker since it may
receive the responses to the attacker's messages.

Proposed solutions:

a) Synchronous processing.
b) Stream mode socket.
c) Restrict/prohibit binding.

2) Starvation: Because various netlink rcv functions were written
to not return until all messages have been processed on a socket,
it is possible for these functions to execute for an arbitrarily
long period of time.  If this is successfully exploited it could
also be used to hold rtnl forever.

Proposed solutions:

a) Synchronous processing.
b) Stream mode socket.

Firstly let's cross off solution c).  It only solves the first
problem and it has user-visible impacts.  In particular, it'll
break user space applications that expect to bind or communicate
with specific netlink addresses (pid's).

So we're left with a choice of synchronous processing versus
SOCK_STREAM for netlink.

For the moment I'm sticking with the synchronous approach as
suggested by Alexey since it's simpler and I'd rather spend
my time working on other things.

However, it does have a number of deficiencies compared to the
stream mode solution:

1) User-space to user-space netlink communication is still vulnerable.

2) Inefficient use of resources.  This is especially true for rtnetlink
since the lock is shared with other users such as networking drivers.
The latter could hold the rtnl while communicating with hardware which
causes the rtnetlink user to wait when it could be doing other things.

3) It is still possible to DoS all netlink users by flooding the kernel
netlink receive queue.  The attacker simply fills the receive socket
with a single netlink message that fills up the entire queue.  The
attacker then continues to call sendmsg with the same message in a loop.

Point 3) can be countered by retransmissions in user-space code, however
it is pretty messy.

In light of these problems (in particular, point 3), we should implement
stream mode netlink at some point.  In the mean time, here is a patch
that implements synchronous processing.  

Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
