<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/net/dccp, branch v2.6.19</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/net/dccp?h=v2.6.19</id>
<link rel='self' href='https://git.amat.us/linux/atom/net/dccp?h=v2.6.19'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2006-11-25T23:16:49Z</updated>
<entry>
<title>[NET]: Fix kfifo_alloc() error check.</title>
<updated>2006-11-25T23:16:49Z</updated>
<author>
<name>Akinobu Mita</name>
<email>akinobu.mita@gmail.com</email>
</author>
<published>2006-11-23T04:26:11Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ac16ca6412d9feb5b2f8fc76a4ed938b5d107f94'/>
<id>urn:sha1:ac16ca6412d9feb5b2f8fc76a4ed938b5d107f94</id>
<content type='text'>
The return value of kfifo_alloc() should be checked by IS_ERR().

Signed-off-by: Akinobu Mita &lt;akinobu.mita@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[IPV6]: Fix address/interface handling in UDP and DCCP, according to the scoping architecture.</title>
<updated>2006-11-22T01:41:56Z</updated>
<author>
<name>YOSHIFUJI Hideaki</name>
<email>yoshfuji@linux-ipv6.org</email>
</author>
<published>2006-11-22T01:41:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f2776ff047229c3e7cee2454e2704dd6f98fa32f'/>
<id>urn:sha1:f2776ff047229c3e7cee2454e2704dd6f98fa32f</id>
<content type='text'>
TCP and RAW do not have this issue.  Closes Bug #7432.

Signed-off-by: YOSHIFUJI Hideaki &lt;yoshfuji@linux-ipv6.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[DCCP]: fix printk format warnings</title>
<updated>2006-10-30T23:24:37Z</updated>
<author>
<name>Randy Dunlap</name>
<email>randy.dunlap@oracle.com</email>
</author>
<published>2006-10-30T00:03:30Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=234af4840135342ab295b4e1219fd35c27fdd439'/>
<id>urn:sha1:234af4840135342ab295b4e1219fd35c27fdd439</id>
<content type='text'>
Fix printk format warnings:
build2.out:net/dccp/ccids/ccid2.c:355: warning: long long unsigned int format, u64 arg (arg 3)
build2.out:net/dccp/ccids/ccid2.c:360: warning: long long unsigned int format, u64 arg (arg 3)
build2.out:net/dccp/ccids/ccid2.c:482: warning: long long unsigned int format, u64 arg (arg 5)
build2.out:net/dccp/ccids/ccid2.c:639: warning: long long unsigned int format, u64 arg (arg 3)
build2.out:net/dccp/ccids/ccid2.c:639: warning: long long unsigned int format, u64 arg (arg 4)
build2.out:net/dccp/ccids/ccid2.c:674: warning: long long unsigned int format, u64 arg (arg 3)
build2.out:net/dccp/ccids/ccid2.c:720: warning: long long unsigned int format, u64 arg (arg 3)

Signed-off-by: Randy Dunlap &lt;randy.dunlap@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[DCCP]: Update documentation references.</title>
<updated>2006-10-24T23:17:51Z</updated>
<author>
<name>Gerrit Renker</name>
<email>gerrit@erg.abdn.ac.uk</email>
</author>
<published>2006-10-24T23:17:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0e64e94e477f8ed04e9295b11a5898d443c28a47'/>
<id>urn:sha1:0e64e94e477f8ed04e9295b11a5898d443c28a47</id>
<content type='text'>
Updates the references to spec documents throughout the code, taking into
account that

* the DCCP, CCID 2, and CCID 3 drafts all became RFCs in March this year

* RFC 1063 was obsoleted by RFC 1191

* draft-ietf-tcpimpl-pmtud-0x.txt was published as an Informational
  RFC, RFC 2923 on 2000-09-22.

All references verified.

Signed-off-by: Gerrit Renker &lt;gerrit@erg.abdn.ac.uk&gt;
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@mandriva.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[DCCP] ipv6: Fix opt_skb leak.</title>
<updated>2006-10-22T02:55:21Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@sunset.davemloft.net</email>
</author>
<published>2006-10-21T02:44:17Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=fd169f15a67b47f23bd1704919c719a8e8409a73'/>
<id>urn:sha1:fd169f15a67b47f23bd1704919c719a8e8409a73</id>
<content type='text'>
Based upon a patch from Jesper Juhl.  Try to match the
TCP IPv6 code this was copied from as much as possible,
so that it's easy to see where to add the ipv6 pktoptions
support code.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[DCCP]: Fix Oops in DCCPv6</title>
<updated>2006-10-22T02:55:20Z</updated>
<author>
<name>Gerrit Renker</name>
<email>gerrit@erg.abdn.ac.uk</email>
</author>
<published>2006-10-11T15:26:54Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=82709531a800fcf8de71bb8c5d8e92462fb81f84'/>
<id>urn:sha1:82709531a800fcf8de71bb8c5d8e92462fb81f84</id>
<content type='text'>
I think I got the cause for the Oops observed in
http://www.mail-archive.com/dccp@vger.kernel.org/msg00578.html

The problem is always with applications listening on PF_INET6 sockets. Apart
from the mentioned oops, I observed another one one, triggered at irregular
intervals via timer interrupt:

    run_timer_softirq -&gt; dccp_keepalive_timer
                      -&gt; inet_csk_reqsk_queue_prune
                      -&gt; reqsk_free
                      -&gt; dccp_v6_reqsk_destructor

The latter function is the problem and is also the last function to be called
in said kernel panic.

In any case, there is a real problem with allocating the right request_sock
which is what this patch tackles.

It fixes the following problem:
 - application listens on PF_INET6
 - DCCPv4 packet comes in, is handed over to dccp_v4_do_rcv, from there
   to dccp_v4_conn_request

Now: socket is PF_INET6, packet is IPv4. The following code then furnishes the
connection with IPv6 - request_sock operations:

   req = reqsk_alloc(sk-&gt;sk_prot-&gt;rsk_prot);

The first problem is that all further incoming packets will get a Reset since
the connection can not be looked up.

The second problem is worse:
 --&gt; reqsk_alloc is called instead of inet6_reqsk_alloc
 --&gt; consequently inet6_rsk_offset is never set (dangling pointer)
 --&gt; the request_sock_ops are nevertheless still dccp6_request_ops
 --&gt; destructor is called via reqsk_free
 --&gt; dccp_v6_reqsk_destructor tries to free random memory location (inet6_rsk_offset not set)
 --&gt; panic

I have tested this for a while, DCCP sockets are now handled correctly in all
three scenarios (v4/v6 only/v4-mapped).

Commiter note: I've added the dccp_request_sock_ops forward declaration to keep
               the tree building and to reduce the size of the patch for 2.6.19,
               later I'll move the functions to the top of the affected source
               code to match what we have in the TCP counterpart, where this
               problem hasn't existed in the first place, dumb me not to have
               done the same thing on DCCP land 8)

Signed-off-by: Gerrit Renker &lt;gerrit@erg.abdn.ac.uk&gt;
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@mandriva.com&gt;
</content>
</entry>
<entry>
<title>[NET]: Use typesafe inet_twsk() inline function instead of cast.</title>
<updated>2006-10-12T06:59:58Z</updated>
<author>
<name>YOSHIFUJI Hideaki</name>
<email>yoshfuji@linux-ipv6.org</email>
</author>
<published>2006-10-11T02:41:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9469c7b4aa210ce94c6e7208cfadbd0aca0ebe08'/>
<id>urn:sha1:9469c7b4aa210ce94c6e7208cfadbd0aca0ebe08</id>
<content type='text'>
Signed-off-by: YOSHIFUJI Hideaki &lt;yoshfuji@linux-ipv6.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[IPV4]: ip_route_connect() ipv4 address arguments annotated</title>
<updated>2006-09-29T00:54:06Z</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2006-09-27T04:27:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bada8adc4e6622764205921e6ba3f717aa03c882'/>
<id>urn:sha1:bada8adc4e6622764205921e6ba3f717aa03c882</id>
<content type='text'>
annotated address arguments (port number left alone for now); ditto
for inferred net-endian variables in callers.

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>[DCCP]: Introduce dccp_probe</title>
<updated>2006-09-24T21:08:17Z</updated>
<author>
<name>Ian McDonald</name>
<email>ian.mcdonald@jandi.co.nz</email>
</author>
<published>2006-09-22T02:28:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e41542f5167d6b506607f8dd111fa0a3e468ccb8'/>
<id>urn:sha1:e41542f5167d6b506607f8dd111fa0a3e468ccb8</id>
<content type='text'>
This adds DCCP probing shamelessly ripped off from TCP probes by Stephen
Hemminger.

I've put in here support for further CCID3 variables as well.
Andrea/Arnaldo might look to extend for CCID2.

Signed-off-by: Ian McDonald &lt;ian.mcdonald@jandi.co.nz&gt;
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@mandriva.com&gt;
</content>
</entry>
<entry>
<title>[DCCP]: Use constants for CCIDs</title>
<updated>2006-09-24T21:03:41Z</updated>
<author>
<name>Ian McDonald</name>
<email>ian.mcdonald@jandi.co.nz</email>
</author>
<published>2006-09-22T02:26:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3dd9a7c3a155ee96160876cba92439fdc96d7e0b'/>
<id>urn:sha1:3dd9a7c3a155ee96160876cba92439fdc96d7e0b</id>
<content type='text'>
With constants for CCID numbers this now uses them in some places.

Signed-off-by: Ian McDonald &lt;ian.mcdonald@jandi.co.nz&gt;
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@mandriva.com&gt;
</content>
</entry>
</feed>
