<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/netinet, branch releng/7.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=releng%2F7.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=releng%2F7.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2008-06-19T06:36:10Z</updated>
<entry>
<title>Fix errors in the padding of TCP options.</title>
<updated>2008-06-19T06:36:10Z</updated>
<author>
<name>Colin Percival</name>
<email>cperciva@FreeBSD.org</email>
</author>
<published>2008-06-19T06:36:10Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=eaa7871ca9ac6101afca4257b22287b138a6f399'/>
<id>urn:sha1:eaa7871ca9ac6101afca4257b22287b138a6f399</id>
<content type='text'>
Errata:		FreeBSD-EN-08:02.tcp
Approved by:	so (cperciva)
</content>
</entry>
<entry>
<title>Merge uipc_sockbuf.c:1.175, uipc_socket.c:1.304, uipc_syscalls.c:1.264,</title>
<updated>2008-02-02T12:44:14Z</updated>
<author>
<name>Robert Watson</name>
<email>rwatson@FreeBSD.org</email>
</author>
<published>2008-02-02T12:44:14Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f9c29669241f2305720f8edb8814e83bd539ee7a'/>
<id>urn:sha1:f9c29669241f2305720f8edb8814e83bd539ee7a</id>
<content type='text'>
sctp_input.c:1.67, sctp_peeloff.c:1.17, sctputil.c:1.73,
socketvar.h:1.161 from HEAD to RELENG_7_0:

  Correct two problems relating to sorflush(), which is called to flush
  read socket buffers in shutdown() and close():

  - Call socantrcvmore() before sblock() to dislodge any threads that
    might be sleeping (potentially indefinitely) while holding sblock(),
    such as a thread blocked in recv().

  - Flag the sblock() call as non-interruptible so that a signal
    delivered to the thread calling sorflush() doesn't cause sblock() to
    fail.  The sblock() is required to ensure that all other socket
    consumer threads have, in fact, left, and do not enter, the socket
    buffer until we're done flushin it.

  To implement the latter, change the 'flags' argument to sblock() to
  accept two flags, SBL_WAIT and SBL_NOINTR, rather than one M_WAITOK
  flag.  When SBL_NOINTR is set, it forces a non-interruptible sx
  acquisition, regardless of the setting of the disposition of SB_NOINTR
  on the socket buffer; without this change it would be possible for
  another thread to clear SB_NOINTR between when the socket buffer mutex
  is released and sblock() is invoked.

  Reviewed by:    bz, kmacy, rrs
  Reported by:    Jos Backus &lt;jos at catnook dot com&gt;

Approved by:	re (kensmith)
</content>
</entry>
<entry>
<title>  - Fixes is a bug in sctp_auth that will cause a panic if</title>
<updated>2008-01-31T17:21:50Z</updated>
<author>
<name>Randall Stewart</name>
<email>rrs@FreeBSD.org</email>
</author>
<published>2008-01-31T17:21:50Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=b59b1224233d488d5dc9ad5b218a486edaca527f'/>
<id>urn:sha1:b59b1224233d488d5dc9ad5b218a486edaca527f</id>
<content type='text'>
    a socket is closed as it gets auth'd data in. (sctp_auth.c)
  - Reverts the priority back to 0, do not change prioritys (sctp_bsd_addr.c)
  - Fixes a wrap error in calculation of gap ack segments that
    wrap the TSN number. (sctp_indata.c)
  - Fixes a comment, and also moves a lock up to cover the pulling
    of the VRF from the inp structure. (sctp_pcb.c)
Approved by:	re@freebsd.org (Ken Smith)
</content>
</entry>
<entry>
<title>Merge ipfw2.c:1.113, ip_fw.h:1.111, ip_fw2.c:1.180 from HEAD to</title>
<updated>2008-01-28T17:44:30Z</updated>
<author>
<name>Robert Watson</name>
<email>rwatson@FreeBSD.org</email>
</author>
<published>2008-01-28T17:44:30Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f0b5521fbb377907005e7eb8555e0ab0faf8c55c'/>
<id>urn:sha1:f0b5521fbb377907005e7eb8555e0ab0faf8c55c</id>
<content type='text'>
RELENG_7_0:

  Hide ipfw internal data structures behind IPFW_INTERNAL rather than
  exposing them to all consumers of ip_fw.h.  These structures are
  used in both ipfw(8) and ipfw(4), but not part of the user&lt;-&gt;kernel
  interface for other applications to use, rather, shared
  implementation.

  Reported by:    Paul Vixie &lt;paul at vix dot com&gt;

Approved by:	re (kensmith)
</content>
</entry>
<entry>
<title>Merge tcp_usrreq.c:1.167 from HEAD to RELENG_7_0:</title>
<updated>2008-01-26T13:57:33Z</updated>
<author>
<name>Robert Watson</name>
<email>rwatson@FreeBSD.org</email>
</author>
<published>2008-01-26T13:57:33Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=be7a7240c480a750837eb5d51521369bc51ccfcf'/>
<id>urn:sha1:be7a7240c480a750837eb5d51521369bc51ccfcf</id>
<content type='text'>
  tcp_usrreq.c:1.130 removed tcbinfo locking from tcp_usr_accept(), which
  while in principle a good idea, opened us up to a race inherrent to
  the syncache's direct insertion of incoming TCP connections into the
  "completed connection" listen queue, as it transpires that the socket
  is inserted before the inpcb is fully filled in by syncache_expand().
  The bug manifested with the occasional returning of 0.0.0.0:0 in the
  address returned by the accept() system call, which occurred if accept
  managed to execute tcp_usr_accept() before syncache_expand() had copied
  the endpoint addresses into inpcb connection state.

  Re-add tcbinfo locking around the address copyout, which has the effect
  of delaying the copy until syncache_expand() has finished running, as
  it is run while the tcbinfo lock is held.  This is undesirable in that
  it increases contention on tcbinfo further, but a more significant
  change will be required to how the syncache inserts new sockets in
  order to fix this and keep more granular locking here.  In particular,
  either more state needs to be passed into sonewconn() so that
  pru_attach() can fill in the fields *before* the socket is inserted, or
  the socket needs to be inserted in the incomplete connection queue
  until it is actually ready to be used.

  Reported by:    glebius (and kris)
  Tested by:      glebius

Approved by:	re (kensmith)
</content>
</entry>
<entry>
<title>- sctp-iterator should run at PI_NET priority ...not 0.</title>
<updated>2007-12-29T15:07:54Z</updated>
<author>
<name>Randall Stewart</name>
<email>rrs@FreeBSD.org</email>
</author>
<published>2007-12-29T15:07:54Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=50c731d76d8041ecc62cfe8f34213aef735bf1c5'/>
<id>urn:sha1:50c731d76d8041ecc62cfe8f34213aef735bf1c5</id>
<content type='text'>
Approved by:	re@freebsd.org(gnn)
</content>
</entry>
<entry>
<title>Merge in_pcb.c:1.196.2.1 from RELENG_7 to RELENG_7_0:</title>
<updated>2007-12-22T20:54:46Z</updated>
<author>
<name>Robert Watson</name>
<email>rwatson@FreeBSD.org</email>
</author>
<published>2007-12-22T20:54:46Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=8ddae67c7db125351140ba6834c1798d3d7d65e9'/>
<id>urn:sha1:8ddae67c7db125351140ba6834c1798d3d7d65e9</id>
<content type='text'>
  When IPSEC fails to allocate policy state for an inpcb, and MAC is in use,
  free the MAC label on the inpcb before freeing the inpcb.

  Submitted by:   tanyong &lt;tanyong at ercist dot iscas dot ac dot cn&gt;,
                  zhouzhouyi

Approved by:	re (kensmith)
</content>
</entry>
<entry>
<title>MFC: 1.141: Fix bugs in the TCP syncache timeout code.</title>
<updated>2007-12-20T12:34:32Z</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@FreeBSD.org</email>
</author>
<published>2007-12-20T12:34:32Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d832e0e8ec0bd3f6ca1c934dbc3e20949cfb6889'/>
<id>urn:sha1:d832e0e8ec0bd3f6ca1c934dbc3e20949cfb6889</id>
<content type='text'>
Approved by:	re (kensmith)
</content>
</entry>
<entry>
<title>MFC 1.334</title>
<updated>2007-12-19T08:10:30Z</updated>
<author>
<name>Guido van Rooij</name>
<email>guido@FreeBSD.org</email>
</author>
<published>2007-12-19T08:10:30Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=483a6b10beaa1c585563d64f01ef57827e027804'/>
<id>urn:sha1:483a6b10beaa1c585563d64f01ef57827e027804</id>
<content type='text'>
Approved by:	re@freebsd.org
</content>
</entry>
<entry>
<title>   - Found a problem in non-blocking sends. When</title>
<updated>2007-12-09T20:23:47Z</updated>
<author>
<name>Randall Stewart</name>
<email>rrs@FreeBSD.org</email>
</author>
<published>2007-12-09T20:23:47Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d451c79512a4d42f21a89def232de04bb5874e7b'/>
<id>urn:sha1:d451c79512a4d42f21a89def232de04bb5874e7b</id>
<content type='text'>
     sending, once the locks are all unlocked to
     do the copy's in, its possible that other
     events could then raise the number of bytes
     outstanding pushing it so not all the message
     would fit. This would then cause us to send
     only part of the message. This fix makes it
     so we keep a "reserved" amount that can be
     kept in mind when making calculations to send.
   - rcv msg args with a NULL/NULL for to/tolen will return
     an error incorrectly for the 1-2-1 model.
   - We were not doing 0 len return correctly and not
     setting socantrcv() more correctly. Previouly we "fixed"
     this area by taking out the socantrcv()
     since we then could not get the data out. The correct fix
     is to still flag the socket but alow a by-pass route to
     continue to read until all data is consumed.
   - Fix the initial buf calculation to be more friendly, calc is
     the same but we use different variable to make it easier
     amongst the different code versions.
   - Signedness issue with one of the new var's (this is an issue
     mainly in apple but with the right -Wall it could effect us too).
   - optimize the initialization of the SB max variables.
   - Missing lock(s) when sending data and moving it to the
     outqueue.
   - If a mbuf alloc fails during moving to outqueue the
     reassembly of the old mbuf chain was incorrect.
   - some_taken becomes a counter in sctputil.c instead of a set to 1.
   - Fix a panic to be only under invarients and have a proper recovery
     in reading messages.
   - msg_flags needed to be set to the value collected not or'd.
   - More fixes for lock misses on the transfer of data to
     the sent_queue. Sometimes I wonder why any code
     ever works   :-)
   - Fix the pad of the last mbuf routine, It was working improperly
     on non-4 byte aligned chunks which could cause memory overruns.
Approved by:	re@freebsd.org(gnn)
</content>
</entry>
</feed>
