<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/net/bluetooth/af_bluetooth.c, branch v3.5</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>Bluetooth: Fix checking the wrong flag when accepting a socket</title>
<updated>2012-06-05T03:26:26+00:00</updated>
<author>
<name>Vinicius Costa Gomes</name>
<email>vinicius.gomes@openbossa.org</email>
</author>
<published>2012-06-01T01:53:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=ddcd0f41471a1e0394c8840a119ec3986a78462c'/>
<id>ddcd0f41471a1e0394c8840a119ec3986a78462c</id>
<content type='text'>
Most probably a typo, the check should have been for BT_SK_DEFER_SETUP
instead of BT_DEFER_SETUP (which right now only represents a socket
option).

Signed-off-by: Vinicius Costa Gomes &lt;vinicius.gomes@openbossa.org&gt;
Acked-by: Andrei Emeltchenko &lt;andrei.emeltchenko@intel.com&gt;
Signed-off-by: Gustavo Padovan &lt;gustavo.padovan@collabora.co.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Most probably a typo, the check should have been for BT_SK_DEFER_SETUP
instead of BT_DEFER_SETUP (which right now only represents a socket
option).

Signed-off-by: Vinicius Costa Gomes &lt;vinicius.gomes@openbossa.org&gt;
Acked-by: Andrei Emeltchenko &lt;andrei.emeltchenko@intel.com&gt;
Signed-off-by: Gustavo Padovan &lt;gustavo.padovan@collabora.co.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Create flags for bt_sk()</title>
<updated>2012-05-16T19:14:17+00:00</updated>
<author>
<name>Gustavo Padovan</name>
<email>gustavo@padovan.org</email>
</author>
<published>2012-05-16T15:17:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=c5daa683f2d3315cd766f550ef7d88bfca1671f4'/>
<id>c5daa683f2d3315cd766f550ef7d88bfca1671f4</id>
<content type='text'>
defer_setup and suspended are now flags into bt_sk().

Signed-off-by: Gustavo Padovan &lt;gustavo@padovan.org&gt;
Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
defer_setup and suspended are now flags into bt_sk().

Signed-off-by: Gustavo Padovan &lt;gustavo@padovan.org&gt;
Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: notify userspace of security level change</title>
<updated>2012-05-14T17:51:25+00:00</updated>
<author>
<name>Gustavo Padovan</name>
<email>gustavo@padovan.org</email>
</author>
<published>2012-05-13T06:20:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=a7d7723ae7c0178d715c06c5621e8fd8014ba92f'/>
<id>a7d7723ae7c0178d715c06c5621e8fd8014ba92f</id>
<content type='text'>
It fixes L2CAP socket based security level elevation during a
connection. The HID profile needs this (for keyboards) and it is the only
way to achieve the security level elevation when using the management
interface to talk to the kernel (hence the management enabling patch
being the one that exposes this issue).

It enables the userspace a security level change when the socket is
already connected and create a way to notify the socket the result of the
request. At the moment of the request the socket is made non writable, if
the request fails the connections closes, otherwise the socket is made
writable again, POLL_OUT is emmited.

Signed-off-by: Gustavo Padovan &lt;gustavo@padovan.org&gt;
Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It fixes L2CAP socket based security level elevation during a
connection. The HID profile needs this (for keyboards) and it is the only
way to achieve the security level elevation when using the management
interface to talk to the kernel (hence the management enabling patch
being the one that exposes this issue).

It enables the userspace a security level change when the socket is
already connected and create a way to notify the socket the result of the
request. At the moment of the request the socket is made non writable, if
the request fails the connections closes, otherwise the socket is made
writable again, POLL_OUT is emmited.

Signed-off-by: Gustavo Padovan &lt;gustavo@padovan.org&gt;
Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: silence lockdep warning</title>
<updated>2012-02-15T11:09:26+00:00</updated>
<author>
<name>Octavian Purdila</name>
<email>tavi.purdila@gmail.com</email>
</author>
<published>2012-01-21T22:28:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=b5a30dda6598af216c070165ece6068f9f00f33a'/>
<id>b5a30dda6598af216c070165ece6068f9f00f33a</id>
<content type='text'>
Since bluetooth uses multiple protocols types, to avoid lockdep
warnings, we need to use different lockdep classes (one for each
protocol type).

This is already done in bt_sock_create but it misses a couple of cases
when new connections are created. This patch corrects that to fix the
following warning:

&lt;4&gt;[ 1864.732366] =======================================================
&lt;4&gt;[ 1864.733030] [ INFO: possible circular locking dependency detected ]
&lt;4&gt;[ 1864.733544] 3.0.16-mid3-00007-gc9a0f62 #3
&lt;4&gt;[ 1864.733883] -------------------------------------------------------
&lt;4&gt;[ 1864.734408] t.android.btclc/4204 is trying to acquire lock:
&lt;4&gt;[ 1864.734869]  (rfcomm_mutex){+.+.+.}, at: [&lt;c14970ea&gt;] rfcomm_dlc_close+0x15/0x30
&lt;4&gt;[ 1864.735541]
&lt;4&gt;[ 1864.735549] but task is already holding lock:
&lt;4&gt;[ 1864.736045]  (sk_lock-AF_BLUETOOTH){+.+.+.}, at: [&lt;c1498bf7&gt;] lock_sock+0xa/0xc
&lt;4&gt;[ 1864.736732]
&lt;4&gt;[ 1864.736740] which lock already depends on the new lock.
&lt;4&gt;[ 1864.736750]
&lt;4&gt;[ 1864.737428]
&lt;4&gt;[ 1864.737437] the existing dependency chain (in reverse order) is:
&lt;4&gt;[ 1864.738016]
&lt;4&gt;[ 1864.738023] -&gt; #1 (sk_lock-AF_BLUETOOTH){+.+.+.}:
&lt;4&gt;[ 1864.738549]        [&lt;c1062273&gt;] lock_acquire+0x104/0x140
&lt;4&gt;[ 1864.738977]        [&lt;c13d35c1&gt;] lock_sock_nested+0x58/0x68
&lt;4&gt;[ 1864.739411]        [&lt;c1493c33&gt;] l2cap_sock_sendmsg+0x3e/0x76
&lt;4&gt;[ 1864.739858]        [&lt;c13d06c3&gt;] __sock_sendmsg+0x50/0x59
&lt;4&gt;[ 1864.740279]        [&lt;c13d0ea2&gt;] sock_sendmsg+0x94/0xa8
&lt;4&gt;[ 1864.740687]        [&lt;c13d0ede&gt;] kernel_sendmsg+0x28/0x37
&lt;4&gt;[ 1864.741106]        [&lt;c14969ca&gt;] rfcomm_send_frame+0x30/0x38
&lt;4&gt;[ 1864.741542]        [&lt;c1496a2a&gt;] rfcomm_send_ua+0x58/0x5a
&lt;4&gt;[ 1864.741959]        [&lt;c1498447&gt;] rfcomm_run+0x441/0xb52
&lt;4&gt;[ 1864.742365]        [&lt;c104f095&gt;] kthread+0x63/0x68
&lt;4&gt;[ 1864.742742]        [&lt;c14d5182&gt;] kernel_thread_helper+0x6/0xd
&lt;4&gt;[ 1864.743187]
&lt;4&gt;[ 1864.743193] -&gt; #0 (rfcomm_mutex){+.+.+.}:
&lt;4&gt;[ 1864.743667]        [&lt;c1061ada&gt;] __lock_acquire+0x988/0xc00
&lt;4&gt;[ 1864.744100]        [&lt;c1062273&gt;] lock_acquire+0x104/0x140
&lt;4&gt;[ 1864.744519]        [&lt;c14d2c70&gt;] __mutex_lock_common+0x3b/0x33f
&lt;4&gt;[ 1864.744975]        [&lt;c14d303e&gt;] mutex_lock_nested+0x2d/0x36
&lt;4&gt;[ 1864.745412]        [&lt;c14970ea&gt;] rfcomm_dlc_close+0x15/0x30
&lt;4&gt;[ 1864.745842]        [&lt;c14990d9&gt;] __rfcomm_sock_close+0x5f/0x6b
&lt;4&gt;[ 1864.746288]        [&lt;c1499114&gt;] rfcomm_sock_shutdown+0x2f/0x62
&lt;4&gt;[ 1864.746737]        [&lt;c13d275d&gt;] sys_socketcall+0x1db/0x422
&lt;4&gt;[ 1864.747165]        [&lt;c14d42f0&gt;] syscall_call+0x7/0xb

Signed-off-by: Octavian Purdila &lt;octavian.purdila@intel.com&gt;
Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since bluetooth uses multiple protocols types, to avoid lockdep
warnings, we need to use different lockdep classes (one for each
protocol type).

This is already done in bt_sock_create but it misses a couple of cases
when new connections are created. This patch corrects that to fix the
following warning:

&lt;4&gt;[ 1864.732366] =======================================================
&lt;4&gt;[ 1864.733030] [ INFO: possible circular locking dependency detected ]
&lt;4&gt;[ 1864.733544] 3.0.16-mid3-00007-gc9a0f62 #3
&lt;4&gt;[ 1864.733883] -------------------------------------------------------
&lt;4&gt;[ 1864.734408] t.android.btclc/4204 is trying to acquire lock:
&lt;4&gt;[ 1864.734869]  (rfcomm_mutex){+.+.+.}, at: [&lt;c14970ea&gt;] rfcomm_dlc_close+0x15/0x30
&lt;4&gt;[ 1864.735541]
&lt;4&gt;[ 1864.735549] but task is already holding lock:
&lt;4&gt;[ 1864.736045]  (sk_lock-AF_BLUETOOTH){+.+.+.}, at: [&lt;c1498bf7&gt;] lock_sock+0xa/0xc
&lt;4&gt;[ 1864.736732]
&lt;4&gt;[ 1864.736740] which lock already depends on the new lock.
&lt;4&gt;[ 1864.736750]
&lt;4&gt;[ 1864.737428]
&lt;4&gt;[ 1864.737437] the existing dependency chain (in reverse order) is:
&lt;4&gt;[ 1864.738016]
&lt;4&gt;[ 1864.738023] -&gt; #1 (sk_lock-AF_BLUETOOTH){+.+.+.}:
&lt;4&gt;[ 1864.738549]        [&lt;c1062273&gt;] lock_acquire+0x104/0x140
&lt;4&gt;[ 1864.738977]        [&lt;c13d35c1&gt;] lock_sock_nested+0x58/0x68
&lt;4&gt;[ 1864.739411]        [&lt;c1493c33&gt;] l2cap_sock_sendmsg+0x3e/0x76
&lt;4&gt;[ 1864.739858]        [&lt;c13d06c3&gt;] __sock_sendmsg+0x50/0x59
&lt;4&gt;[ 1864.740279]        [&lt;c13d0ea2&gt;] sock_sendmsg+0x94/0xa8
&lt;4&gt;[ 1864.740687]        [&lt;c13d0ede&gt;] kernel_sendmsg+0x28/0x37
&lt;4&gt;[ 1864.741106]        [&lt;c14969ca&gt;] rfcomm_send_frame+0x30/0x38
&lt;4&gt;[ 1864.741542]        [&lt;c1496a2a&gt;] rfcomm_send_ua+0x58/0x5a
&lt;4&gt;[ 1864.741959]        [&lt;c1498447&gt;] rfcomm_run+0x441/0xb52
&lt;4&gt;[ 1864.742365]        [&lt;c104f095&gt;] kthread+0x63/0x68
&lt;4&gt;[ 1864.742742]        [&lt;c14d5182&gt;] kernel_thread_helper+0x6/0xd
&lt;4&gt;[ 1864.743187]
&lt;4&gt;[ 1864.743193] -&gt; #0 (rfcomm_mutex){+.+.+.}:
&lt;4&gt;[ 1864.743667]        [&lt;c1061ada&gt;] __lock_acquire+0x988/0xc00
&lt;4&gt;[ 1864.744100]        [&lt;c1062273&gt;] lock_acquire+0x104/0x140
&lt;4&gt;[ 1864.744519]        [&lt;c14d2c70&gt;] __mutex_lock_common+0x3b/0x33f
&lt;4&gt;[ 1864.744975]        [&lt;c14d303e&gt;] mutex_lock_nested+0x2d/0x36
&lt;4&gt;[ 1864.745412]        [&lt;c14970ea&gt;] rfcomm_dlc_close+0x15/0x30
&lt;4&gt;[ 1864.745842]        [&lt;c14990d9&gt;] __rfcomm_sock_close+0x5f/0x6b
&lt;4&gt;[ 1864.746288]        [&lt;c1499114&gt;] rfcomm_sock_shutdown+0x2f/0x62
&lt;4&gt;[ 1864.746737]        [&lt;c13d275d&gt;] sys_socketcall+0x1db/0x422
&lt;4&gt;[ 1864.747165]        [&lt;c14d42f0&gt;] syscall_call+0x7/0xb

Signed-off-by: Octavian Purdila &lt;octavian.purdila@intel.com&gt;
Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Remove *_bh from socket list lock.</title>
<updated>2012-01-03T00:20:24+00:00</updated>
<author>
<name>Gustavo F. Padovan</name>
<email>padovan@profusion.mobi</email>
</author>
<published>2011-12-27T17:28:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=94f5bfb8c1641080c3c4325714b8fe7d2839a906'/>
<id>94f5bfb8c1641080c3c4325714b8fe7d2839a906</id>
<content type='text'>
We don't need it anymore.

Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We don't need it anymore.

Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: fix bt_accept_dequeue() to work in process context</title>
<updated>2011-12-22T16:02:08+00:00</updated>
<author>
<name>Gustavo F. Padovan</name>
<email>padovan@profusion.mobi</email>
</author>
<published>2011-12-20T19:15:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=8a154a8feb805394d1fd46281becaf876e18860a'/>
<id>8a154a8feb805394d1fd46281becaf876e18860a</id>
<content type='text'>
No local_bh_disable is needed there once we run everything in process
context. The same goes for the replacement of bh_lock_sock() by
lock_sock().

Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
No local_bh_disable is needed there once we run everything in process
context. The same goes for the replacement of bh_lock_sock() by
lock_sock().

Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Handle fragmented skbs in bt_sock_stream_recvmsg()</title>
<updated>2011-09-27T21:16:07+00:00</updated>
<author>
<name>Mat Martineau</name>
<email>mathewm@codeaurora.org</email>
</author>
<published>2011-07-22T21:53:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=5b668eb3270f3f9c13ddf6e4fb57bf20c83dccff'/>
<id>5b668eb3270f3f9c13ddf6e4fb57bf20c83dccff</id>
<content type='text'>
ERTM reassembly will be more efficient when skbs are linked together
rather than copying every incoming data byte. The existing stream recv
function assumes skbs are linear, so it needs to know how to handle
fragments before reassembly is changed.

bt_sock_recvmsg() already handles fragmented skbs.

Signed-off-by: Mat Martineau &lt;mathewm@codeaurora.org&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ERTM reassembly will be more efficient when skbs are linked together
rather than copying every incoming data byte. The existing stream recv
function assumes skbs are linear, so it needs to know how to handle
fragments before reassembly is changed.

bt_sock_recvmsg() already handles fragmented skbs.

Signed-off-by: Mat Martineau &lt;mathewm@codeaurora.org&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Fix lost wakeups waiting for sock state change</title>
<updated>2011-08-11T22:50:26+00:00</updated>
<author>
<name>Peter Hurley</name>
<email>peter@hurleysoftware.com</email>
</author>
<published>2011-07-24T04:10:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=9be4e3fbf2d3603e7a7010ede0697166738a788b'/>
<id>9be4e3fbf2d3603e7a7010ede0697166738a788b</id>
<content type='text'>
Fix race conditions which can cause lost wakeups while waiting
for sock state to change.

Signed-off-by: Peter Hurley &lt;peter@hurleysoftware.com&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix race conditions which can cause lost wakeups while waiting
for sock state to change.

Signed-off-by: Peter Hurley &lt;peter@hurleysoftware.com&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: remove unnecessary call to hci_sock_cleanup</title>
<updated>2011-02-26T01:36:58+00:00</updated>
<author>
<name>Anand Gadiyar</name>
<email>gadiyar@ti.com</email>
</author>
<published>2011-02-22T07:13:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=0ed54dad52e8056f4440da723a4c117f2aef1f68'/>
<id>0ed54dad52e8056f4440da723a4c117f2aef1f68</id>
<content type='text'>
hci_sock_cleanup is already called after the sock_err label.
It appears that we can drop this call.

Signed-off-by: Anand Gadiyar &lt;gadiyar@ti.com&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
hci_sock_cleanup is already called after the sock_err label.
It appears that we can drop this call.

Signed-off-by: Anand Gadiyar &lt;gadiyar@ti.com&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: fix checkpatch errors in af_bluetooth.c</title>
<updated>2011-02-17T22:24:05+00:00</updated>
<author>
<name>Gustavo F. Padovan</name>
<email>padovan@profusion.mobi</email>
</author>
<published>2011-02-17T22:24:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=8ffd878419839638d1aea102455b575da39c1a62'/>
<id>8ffd878419839638d1aea102455b575da39c1a62</id>
<content type='text'>
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
</pre>
</div>
</content>
</entry>
</feed>
