<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/netgraph/bluetooth/socket, branch release/6.0.0_cvs</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>This commit was manufactured by cvs2svn to create tag</title>
<updated>2005-11-03T00:35:26+00:00</updated>
<author>
<name>cvs2svn</name>
<email>cvs2svn@FreeBSD.org</email>
</author>
<published>2005-11-03T00:35:26+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=3640cb54210edbb7edbf1b12ef0127ecfcea967d'/>
<id>3640cb54210edbb7edbf1b12ef0127ecfcea967d</id>
<content type='text'>
'RELENG_6_0_0_RELEASE'.

This commit was manufactured to restore the state of the 6.0-RELEASE image.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
'RELENG_6_0_0_RELEASE'.

This commit was manufactured to restore the state of the 6.0-RELEASE image.
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC to RELENG_6</title>
<updated>2005-08-29T17:00:54+00:00</updated>
<author>
<name>Maksim Yevmenkin</name>
<email>emax@FreeBSD.org</email>
</author>
<published>2005-08-29T17:00:54+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=1b3533dff23865afb70d374f35e987afb86440f7'/>
<id>1b3533dff23865afb70d374f35e987afb86440f7</id>
<content type='text'>
Address minor locking issues. Use taskqueue_swi instead of taskqueue_swi_giant.

Approved by:	re (scottl)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Address minor locking issues. Use taskqueue_swi instead of taskqueue_swi_giant.

Approved by:	re (scottl)
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC to RELENG_6</title>
<updated>2005-08-25T16:14:33+00:00</updated>
<author>
<name>Maksim Yevmenkin</name>
<email>emax@FreeBSD.org</email>
</author>
<published>2005-08-25T16:14:33+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=8dbc923ce7efd296993dae6b078c2bed4b7e9a69'/>
<id>8dbc923ce7efd296993dae6b078c2bed4b7e9a69</id>
<content type='text'>
Fix multiple typos in the mutex names. This fixes false positive (and pretty
strange looking too) LORs I have seen on my system. Pointy hat to goes to me.

Approved by:	re (scottl)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix multiple typos in the mutex names. This fixes false positive (and pretty
strange looking too) LORs I have seen on my system. Pointy hat to goes to me.

Approved by:	re (scottl)
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove PR_ATOMIC flag in ng_btsocket_protosw[] for BLUETOOTH_PROTO_RFCOMM</title>
<updated>2005-04-06T20:54:05+00:00</updated>
<author>
<name>Maksim Yevmenkin</name>
<email>emax@FreeBSD.org</email>
</author>
<published>2005-04-06T20:54:05+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=aa9e985aed95e3da55fcfa81a0386dfeefa8299d'/>
<id>aa9e985aed95e3da55fcfa81a0386dfeefa8299d</id>
<content type='text'>
protocol. RFCOMM is a SOCK_STREAM protocol not SOCK_SEQPACKET. This was a
serious bug caused by cut-and-paste. I'm surprised it did not bite me before.
Dunce hat goes to me.

MFC after:	3 days
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
protocol. RFCOMM is a SOCK_STREAM protocol not SOCK_SEQPACKET. This was a
serious bug caused by cut-and-paste. I'm surprised it did not bite me before.
Dunce hat goes to me.

MFC after:	3 days
</pre>
</div>
</content>
</entry>
<entry>
<title>In ng_btsocket_rfcomm_receive_frame() correctly set length variable when</title>
<updated>2005-04-06T18:55:58+00:00</updated>
<author>
<name>Maksim Yevmenkin</name>
<email>emax@FreeBSD.org</email>
</author>
<published>2005-04-06T18:55:58+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=f93b258c9485da1fa12cf249a74795c2e7fdbf8a'/>
<id>f93b258c9485da1fa12cf249a74795c2e7fdbf8a</id>
<content type='text'>
EA bit is set in hdr-&gt;length (16-bit length). This currently has no effect
on the rest of the code. It just fixes the debug message.

MFC After:	3 weeks
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
EA bit is set in hdr-&gt;length (16-bit length). This currently has no effect
on the rest of the code. It just fixes the debug message.

MFC After:	3 weeks
</pre>
</div>
</content>
</entry>
<entry>
<title>move ptr use down to after null check</title>
<updated>2005-02-26T02:31:34+00:00</updated>
<author>
<name>Sam Leffler</name>
<email>sam@FreeBSD.org</email>
</author>
<published>2005-02-26T02:31:34+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=81c95c5292455d87492832ae194cc83df0e55ca3'/>
<id>81c95c5292455d87492832ae194cc83df0e55ca3</id>
<content type='text'>
Noticed by:	Coverity Prevent analysis tool
Reviewed by:	emax
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Noticed by:	Coverity Prevent analysis tool
Reviewed by:	emax
</pre>
</div>
</content>
</entry>
<entry>
<title>In the current world order, solisten() implements the state transition of</title>
<updated>2005-02-21T21:58:17+00:00</updated>
<author>
<name>Robert Watson</name>
<email>rwatson@FreeBSD.org</email>
</author>
<published>2005-02-21T21:58:17+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=0daccb9c9439393cb1c83104717ab7e0e4db26b0'/>
<id>0daccb9c9439393cb1c83104717ab7e0e4db26b0</id>
<content type='text'>
a socket from a regular socket to a listening socket able to accept new
connections.  As part of this state transition, solisten() calls into the
protocol to update protocol-layer state.  There were several bugs in this
implementation that could result in a race wherein a TCP SYN received
in the interval between the protocol state transition and the shortly
following socket layer transition would result in a panic in the TCP code,
as the socket would be in the TCPS_LISTEN state, but the socket would not
have the SO_ACCEPTCONN flag set.

This change does the following:

- Pushes the socket state transition from the socket layer solisten() to
  to socket "library" routines called from the protocol.  This permits
  the socket routines to be called while holding the protocol mutexes,
  preventing a race exposing the incomplete socket state transition to TCP
  after the TCP state transition has completed.  The check for a socket
  layer state transition is performed by solisten_proto_check(), and the
  actual transition is performed by solisten_proto().

- Holds the socket lock for the duration of the socket state test and set,
  and over the protocol layer state transition, which is now possible as
  the socket lock is acquired by the protocol layer, rather than vice
  versa.  This prevents additional state related races in the socket
  layer.

This permits the dual transition of socket layer and protocol layer state
to occur while holding locks for both layers, making the two changes
atomic with respect to one another.  Similar changes are likely require
elsewhere in the socket/protocol code.

Reported by:		Peter Holm &lt;peter@holm.cc&gt;
Review and fixes from:	emax, Antoine Brodin &lt;antoine.brodin@laposte.net&gt;
Philosophical head nod:	gnn
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
a socket from a regular socket to a listening socket able to accept new
connections.  As part of this state transition, solisten() calls into the
protocol to update protocol-layer state.  There were several bugs in this
implementation that could result in a race wherein a TCP SYN received
in the interval between the protocol state transition and the shortly
following socket layer transition would result in a panic in the TCP code,
as the socket would be in the TCPS_LISTEN state, but the socket would not
have the SO_ACCEPTCONN flag set.

This change does the following:

- Pushes the socket state transition from the socket layer solisten() to
  to socket "library" routines called from the protocol.  This permits
  the socket routines to be called while holding the protocol mutexes,
  preventing a race exposing the incomplete socket state transition to TCP
  after the TCP state transition has completed.  The check for a socket
  layer state transition is performed by solisten_proto_check(), and the
  actual transition is performed by solisten_proto().

- Holds the socket lock for the duration of the socket state test and set,
  and over the protocol layer state transition, which is now possible as
  the socket lock is acquired by the protocol layer, rather than vice
  versa.  This prevents additional state related races in the socket
  layer.

This permits the dual transition of socket layer and protocol layer state
to occur while holding locks for both layers, making the two changes
atomic with respect to one another.  Similar changes are likely require
elsewhere in the socket/protocol code.

Reported by:		Peter Holm &lt;peter@holm.cc&gt;
Review and fixes from:	emax, Antoine Brodin &lt;antoine.brodin@laposte.net&gt;
Philosophical head nod:	gnn
</pre>
</div>
</content>
</entry>
<entry>
<title>/* -&gt; /*- for license, minor formatting changes</title>
<updated>2005-01-07T01:45:51+00:00</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2005-01-07T01:45:51+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=c398230b64aea809cb7c5cea8db580af7097920c'/>
<id>c398230b64aea809cb7c5cea8db580af7097920c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Move ng_socket and ng_btsocket initialization to SI_SUB_PROTO_DOMAIN as they</title>
<updated>2004-11-30T22:28:50+00:00</updated>
<author>
<name>Max Laier</name>
<email>mlaier@FreeBSD.org</email>
</author>
<published>2004-11-30T22:28:50+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=4f240aff0170238c2906b27383310323b9e11c15'/>
<id>4f240aff0170238c2906b27383310323b9e11c15</id>
<content type='text'>
call net_add_domain(). Calling this function too early (or late) breaks
assertations about the global domains list.
Actually it should be forbidden to call net_add_domain() outside of
SI_SUB_PROTO_DOMAIN completely as there are many places where we traverse
the domains list unprotected, but for now we allow late calls (mostly to
support netgraph). In order to really fix this we have to lock the domains
list in all places or find another way to ensure that we can safely walk the
list while another thread might be adding a new domain.

Spotted by:	se
Reviewed by:	julian, glebius
PR:		kern/73321	(partly)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
call net_add_domain(). Calling this function too early (or late) breaks
assertations about the global domains list.
Actually it should be forbidden to call net_add_domain() outside of
SI_SUB_PROTO_DOMAIN completely as there are many places where we traverse
the domains list unprotected, but for now we allow late calls (mostly to
support netgraph). In order to really fix this we have to lock the domains
list in all places or find another way to ensure that we can safely walk the
list while another thread might be adding a new domain.

Spotted by:	se
Reviewed by:	julian, glebius
PR:		kern/73321	(partly)
</pre>
</div>
</content>
</entry>
<entry>
<title>Initialize struct pr_userreqs in new/sparse style and fill in common</title>
<updated>2004-11-08T14:44:54+00:00</updated>
<author>
<name>Poul-Henning Kamp</name>
<email>phk@FreeBSD.org</email>
</author>
<published>2004-11-08T14:44:54+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=756d52a19576f79fd08ca7a098d513768ef399ce'/>
<id>756d52a19576f79fd08ca7a098d513768ef399ce</id>
<content type='text'>
default elements in net_init_domain().

This makes it possible to grep these structures and see any bogosities.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
default elements in net_init_domain().

This makes it possible to grep these structures and see any bogosities.
</pre>
</div>
</content>
</entry>
</feed>
