<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/net/bluetooth, branch v2.6.32.50</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>tty: icount changeover for other main devices</title>
<updated>2011-11-26T17:10:38+00:00</updated>
<author>
<name>Alan Cox</name>
<email>alan@linux.intel.com</email>
</author>
<published>2011-11-13T15:25:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9345f184dad224ff5ed726a7b67ca999384de262'/>
<id>9345f184dad224ff5ed726a7b67ca999384de262</id>
<content type='text'>
commit 0587102cf9f427c185bfdeb2cef41e13ee0264b1 upstream

Again basically cut and paste

Convert the main driver set to use the hooks for GICOUNT

Signed-off-by: Alan Cox &lt;alan@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;


</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 0587102cf9f427c185bfdeb2cef41e13ee0264b1 upstream

Again basically cut and paste

Convert the main driver set to use the hooks for GICOUNT

Signed-off-by: Alan Cox &lt;alan@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;


</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Prevent buffer overflow in l2cap config request</title>
<updated>2011-11-07T20:32:51+00:00</updated>
<author>
<name>Dan Rosenberg</name>
<email>drosenberg@vsecurity.com</email>
</author>
<published>2011-06-24T12:38:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9bb38ae0b3a03b774dd026bf1c7758d2d107f464'/>
<id>9bb38ae0b3a03b774dd026bf1c7758d2d107f464</id>
<content type='text'>
commit 7ac28817536797fd40e9646452183606f9e17f71 upstream.

A remote user can provide a small value for the command size field in
the command header of an l2cap configuration request, resulting in an
integer underflow when subtracting the size of the configuration request
header.  This results in copying a very large amount of data via
memcpy() and destroying the kernel heap.  Check for underflow.

Signed-off-by: Dan Rosenberg &lt;drosenberg@vsecurity.com&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;


</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 7ac28817536797fd40e9646452183606f9e17f71 upstream.

A remote user can provide a small value for the command size field in
the command header of an l2cap configuration request, resulting in an
integer underflow when subtracting the size of the configuration request
header.  This results in copying a very large amount of data via
memcpy() and destroying the kernel heap.  Check for underflow.

Signed-off-by: Dan Rosenberg &lt;drosenberg@vsecurity.com&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;


</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: l2cap and rfcomm: fix 1 byte infoleak to userspace.</title>
<updated>2011-11-07T20:32:48+00:00</updated>
<author>
<name>Filip Palian</name>
<email>s3810@pjwstk.edu.pl</email>
</author>
<published>2011-05-12T17:32:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d77e3459f7edf03567024ad9442dace4bcb81b9c'/>
<id>d77e3459f7edf03567024ad9442dace4bcb81b9c</id>
<content type='text'>
commit 8d03e971cf403305217b8e62db3a2e5ad2d6263f upstream.

Structures "l2cap_conninfo" and "rfcomm_conninfo" have one padding
byte each. This byte in "cinfo" is copied to userspace uninitialized.

Signed-off-by: Filip Palian &lt;filip.palian@pjwstk.edu.pl&gt;
Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 8d03e971cf403305217b8e62db3a2e5ad2d6263f upstream.

Structures "l2cap_conninfo" and "rfcomm_conninfo" have one padding
byte each. This byte in "cinfo" is copied to userspace uninitialized.

Signed-off-by: Filip Palian &lt;filip.palian@pjwstk.edu.pl&gt;
Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: bnep: fix buffer overflow</title>
<updated>2011-04-14T23:53:33+00:00</updated>
<author>
<name>Vasiliy Kulikov</name>
<email>segoon@openwall.com</email>
</author>
<published>2011-02-14T10:54:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e826581a58ce64a98332b840354f4f18348a71c7'/>
<id>e826581a58ce64a98332b840354f4f18348a71c7</id>
<content type='text'>
commit 43629f8f5ea32a998d06d1bb41eefa0e821ff573 upstream.

Struct ca is copied from userspace.  It is not checked whether the "device"
field is NULL terminated.  This potentially leads to BUG() inside of
alloc_netdev_mqs() and/or information leak by creating a device with a name
made of contents of kernel stack.

Signed-off-by: Vasiliy Kulikov &lt;segoon@openwall.com&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 43629f8f5ea32a998d06d1bb41eefa0e821ff573 upstream.

Struct ca is copied from userspace.  It is not checked whether the "device"
field is NULL terminated.  This potentially leads to BUG() inside of
alloc_netdev_mqs() and/or information leak by creating a device with a name
made of contents of kernel stack.

Signed-off-by: Vasiliy Kulikov &lt;segoon@openwall.com&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: sco: fix information leak to userspace</title>
<updated>2011-04-14T23:53:32+00:00</updated>
<author>
<name>Vasiliy Kulikov</name>
<email>segoon@openwall.com</email>
</author>
<published>2011-02-14T10:54:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=1fdae7255ced792c46a1b697aa7f27b2f3b4e322'/>
<id>1fdae7255ced792c46a1b697aa7f27b2f3b4e322</id>
<content type='text'>
commit c4c896e1471aec3b004a693c689f60be3b17ac86 upstream.

struct sco_conninfo has one padding byte in the end.  Local variable
cinfo of type sco_conninfo is copied to userspace with this uninizialized
one byte, leading to old stack contents leak.

Signed-off-by: Vasiliy Kulikov &lt;segoon@openwall.com&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit c4c896e1471aec3b004a693c689f60be3b17ac86 upstream.

struct sco_conninfo has one padding byte in the end.  Local variable
cinfo of type sco_conninfo is copied to userspace with this uninizialized
one byte, leading to old stack contents leak.

Signed-off-by: Vasiliy Kulikov &lt;segoon@openwall.com&gt;
Signed-off-by: Gustavo F. Padovan &lt;padovan@profusion.mobi&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Fix kernel crash on L2CAP stress tests</title>
<updated>2010-04-01T22:58:55+00:00</updated>
<author>
<name>Andrei Emeltchenko</name>
<email>andrei.emeltchenko@nokia.com</email>
</author>
<published>2010-03-19T08:26:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=fc4da4ab6ea18f1f5073c2af98d554cd69f632e8'/>
<id>fc4da4ab6ea18f1f5073c2af98d554cd69f632e8</id>
<content type='text'>
commit c2c77ec83bdad17fb688557b5b3fdc36661dd1c6 upstream.

Added very simple check that req buffer has enough space to
fit configuration parameters. Shall be enough to reject packets
with configuration size more than req buffer.

Crash trace below

[ 6069.659393] Unable to handle kernel paging request at virtual address 02000205
[ 6069.673034] Internal error: Oops: 805 [#1] PREEMPT
...
[ 6069.727172] PC is at l2cap_add_conf_opt+0x70/0xf0 [l2cap]
[ 6069.732604] LR is at l2cap_recv_frame+0x1350/0x2e78 [l2cap]
...
[ 6070.030303] Backtrace:
[ 6070.032806] [&lt;bf1c2880&gt;] (l2cap_add_conf_opt+0x0/0xf0 [l2cap]) from
[&lt;bf1c6624&gt;] (l2cap_recv_frame+0x1350/0x2e78 [l2cap])
[ 6070.043823]  r8:dc5d3100 r7:df2a91d6 r6:00000001 r5:df2a8000 r4:00000200
[ 6070.050659] [&lt;bf1c52d4&gt;] (l2cap_recv_frame+0x0/0x2e78 [l2cap]) from
[&lt;bf1c8408&gt;] (l2cap_recv_acldata+0x2bc/0x350 [l2cap])
[ 6070.061798] [&lt;bf1c814c&gt;] (l2cap_recv_acldata+0x0/0x350 [l2cap]) from
[&lt;bf0037a4&gt;] (hci_rx_task+0x244/0x478 [bluetooth])
[ 6070.072631]  r6:dc647700 r5:00000001 r4:df2ab740
[ 6070.077362] [&lt;bf003560&gt;] (hci_rx_task+0x0/0x478 [bluetooth]) from
[&lt;c006b9fc&gt;] (tasklet_action+0x78/0xd8)
[ 6070.087005] [&lt;c006b984&gt;] (tasklet_action+0x0/0xd8) from [&lt;c006c160&gt;]

Signed-off-by: Andrei Emeltchenko &lt;andrei.emeltchenko@nokia.com&gt;
Acked-by: Gustavo F. Padovan &lt;gustavo@padovan.org&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit c2c77ec83bdad17fb688557b5b3fdc36661dd1c6 upstream.

Added very simple check that req buffer has enough space to
fit configuration parameters. Shall be enough to reject packets
with configuration size more than req buffer.

Crash trace below

[ 6069.659393] Unable to handle kernel paging request at virtual address 02000205
[ 6069.673034] Internal error: Oops: 805 [#1] PREEMPT
...
[ 6069.727172] PC is at l2cap_add_conf_opt+0x70/0xf0 [l2cap]
[ 6069.732604] LR is at l2cap_recv_frame+0x1350/0x2e78 [l2cap]
...
[ 6070.030303] Backtrace:
[ 6070.032806] [&lt;bf1c2880&gt;] (l2cap_add_conf_opt+0x0/0xf0 [l2cap]) from
[&lt;bf1c6624&gt;] (l2cap_recv_frame+0x1350/0x2e78 [l2cap])
[ 6070.043823]  r8:dc5d3100 r7:df2a91d6 r6:00000001 r5:df2a8000 r4:00000200
[ 6070.050659] [&lt;bf1c52d4&gt;] (l2cap_recv_frame+0x0/0x2e78 [l2cap]) from
[&lt;bf1c8408&gt;] (l2cap_recv_acldata+0x2bc/0x350 [l2cap])
[ 6070.061798] [&lt;bf1c814c&gt;] (l2cap_recv_acldata+0x0/0x350 [l2cap]) from
[&lt;bf0037a4&gt;] (hci_rx_task+0x244/0x478 [bluetooth])
[ 6070.072631]  r6:dc647700 r5:00000001 r4:df2ab740
[ 6070.077362] [&lt;bf003560&gt;] (hci_rx_task+0x0/0x478 [bluetooth]) from
[&lt;c006b9fc&gt;] (tasklet_action+0x78/0xd8)
[ 6070.087005] [&lt;c006b984&gt;] (tasklet_action+0x0/0xd8) from [&lt;c006c160&gt;]

Signed-off-by: Andrei Emeltchenko &lt;andrei.emeltchenko@nokia.com&gt;
Acked-by: Gustavo F. Padovan &lt;gustavo@padovan.org&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Fix potential bad memory access with sysfs files</title>
<updated>2010-04-01T22:58:54+00:00</updated>
<author>
<name>Marcel Holtmann</name>
<email>marcel@holtmann.org</email>
</author>
<published>2010-03-15T21:12:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e1c20f724d1f9f857dee1a13d0ecc11c4b834db7'/>
<id>e1c20f724d1f9f857dee1a13d0ecc11c4b834db7</id>
<content type='text'>
commit 101545f6fef4a0a3ea8daf0b5b880df2c6a92a69 upstream.

When creating a high number of Bluetooth sockets (L2CAP, SCO
and RFCOMM) it is possible to scribble repeatedly on arbitrary
pages of memory. Ensure that the content of these sysfs files is
always less than one page. Even if this means truncating. The
files in question are scheduled to be moved over to debugfs in
the future anyway.

Based on initial patches from Neil Brown and Linus Torvalds

Reported-by: Neil Brown &lt;neilb@suse.de&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 101545f6fef4a0a3ea8daf0b5b880df2c6a92a69 upstream.

When creating a high number of Bluetooth sockets (L2CAP, SCO
and RFCOMM) it is possible to scribble repeatedly on arbitrary
pages of memory. Ensure that the content of these sysfs files is
always less than one page. Even if this means truncating. The
files in question are scheduled to be moved over to debugfs in
the future anyway.

Based on initial patches from Neil Brown and Linus Torvalds

Reported-by: Neil Brown &lt;neilb@suse.de&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Fix sleeping function in RFCOMM within invalid context</title>
<updated>2010-04-01T22:58:10+00:00</updated>
<author>
<name>Marcel Holtmann</name>
<email>marcel@holtmann.org</email>
</author>
<published>2010-02-03T23:52:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=1020738fc1de56751c902c0f26eac5a61a0d9790'/>
<id>1020738fc1de56751c902c0f26eac5a61a0d9790</id>
<content type='text'>
commit 485f1eff73a7b932fd3abb0dfcf804e1a1f59025 upstream.

With the commit 9e726b17422bade75fba94e625cd35fd1353e682 the
rfcomm_session_put() gets accidentially called from a timeout
callback and results in this:

BUG: sleeping function called from invalid context at net/core/sock.c:1897
in_atomic(): 1, irqs_disabled(): 0, pid: 0, name: swapper
Pid: 0, comm: swapper Tainted: P           2.6.32 #31
Call Trace:
 &lt;IRQ&gt;  [&lt;ffffffff81036455&gt;] __might_sleep+0xf8/0xfa
 [&lt;ffffffff8138ef1d&gt;] lock_sock_nested+0x29/0xc4
 [&lt;ffffffffa03921b3&gt;] lock_sock+0xb/0xd [l2cap]
 [&lt;ffffffffa03948e6&gt;] l2cap_sock_shutdown+0x1c/0x76 [l2cap]
 [&lt;ffffffff8106adea&gt;] ? clockevents_program_event+0x75/0x7e
 [&lt;ffffffff8106bea2&gt;] ? tick_dev_program_event+0x37/0xa5
 [&lt;ffffffffa0394967&gt;] l2cap_sock_release+0x27/0x67 [l2cap]
 [&lt;ffffffff8138c971&gt;] sock_release+0x1a/0x67
 [&lt;ffffffffa03d2492&gt;] rfcomm_session_del+0x34/0x53 [rfcomm]
 [&lt;ffffffffa03d24c5&gt;] rfcomm_session_put+0x14/0x16 [rfcomm]
 [&lt;ffffffffa03d28b4&gt;] rfcomm_session_timeout+0xe/0x1a [rfcomm]
 [&lt;ffffffff810554a8&gt;] run_timer_softirq+0x1e2/0x29a
 [&lt;ffffffffa03d28a6&gt;] ? rfcomm_session_timeout+0x0/0x1a [rfcomm]
 [&lt;ffffffff8104e0f6&gt;] __do_softirq+0xfe/0x1c5
 [&lt;ffffffff8100e8ce&gt;] ? timer_interrupt+0x1a/0x21
 [&lt;ffffffff8100cc4c&gt;] call_softirq+0x1c/0x28
 [&lt;ffffffff8100e05b&gt;] do_softirq+0x33/0x6b
 [&lt;ffffffff8104daf6&gt;] irq_exit+0x36/0x85
 [&lt;ffffffff8100d7a9&gt;] do_IRQ+0xa6/0xbd
 [&lt;ffffffff8100c493&gt;] ret_from_intr+0x0/0xa
 &lt;EOI&gt;  [&lt;ffffffff812585b3&gt;] ? acpi_idle_enter_bm+0x269/0x294
 [&lt;ffffffff812585a9&gt;] ? acpi_idle_enter_bm+0x25f/0x294
 [&lt;ffffffff81373ddc&gt;] ? cpuidle_idle_call+0x97/0x107
 [&lt;ffffffff8100aca0&gt;] ? cpu_idle+0x53/0xaa
 [&lt;ffffffff81429006&gt;] ? rest_init+0x7a/0x7c
 [&lt;ffffffff8177bc8c&gt;] ? start_kernel+0x389/0x394
 [&lt;ffffffff8177b29c&gt;] ? x86_64_start_reservations+0xac/0xb0
 [&lt;ffffffff8177b384&gt;] ? x86_64_start_kernel+0xe4/0xeb

To fix this, the rfcomm_session_put() needs to be moved out of
rfcomm_session_timeout() into rfcomm_process_sessions(). In that
context it is perfectly fine to sleep and disconnect the socket.

Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Tested-by: David John &lt;davidjon@xenontk.org&gt;
Cc: Chase Douglas &lt;chase.douglas@canonical.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 485f1eff73a7b932fd3abb0dfcf804e1a1f59025 upstream.

With the commit 9e726b17422bade75fba94e625cd35fd1353e682 the
rfcomm_session_put() gets accidentially called from a timeout
callback and results in this:

BUG: sleeping function called from invalid context at net/core/sock.c:1897
in_atomic(): 1, irqs_disabled(): 0, pid: 0, name: swapper
Pid: 0, comm: swapper Tainted: P           2.6.32 #31
Call Trace:
 &lt;IRQ&gt;  [&lt;ffffffff81036455&gt;] __might_sleep+0xf8/0xfa
 [&lt;ffffffff8138ef1d&gt;] lock_sock_nested+0x29/0xc4
 [&lt;ffffffffa03921b3&gt;] lock_sock+0xb/0xd [l2cap]
 [&lt;ffffffffa03948e6&gt;] l2cap_sock_shutdown+0x1c/0x76 [l2cap]
 [&lt;ffffffff8106adea&gt;] ? clockevents_program_event+0x75/0x7e
 [&lt;ffffffff8106bea2&gt;] ? tick_dev_program_event+0x37/0xa5
 [&lt;ffffffffa0394967&gt;] l2cap_sock_release+0x27/0x67 [l2cap]
 [&lt;ffffffff8138c971&gt;] sock_release+0x1a/0x67
 [&lt;ffffffffa03d2492&gt;] rfcomm_session_del+0x34/0x53 [rfcomm]
 [&lt;ffffffffa03d24c5&gt;] rfcomm_session_put+0x14/0x16 [rfcomm]
 [&lt;ffffffffa03d28b4&gt;] rfcomm_session_timeout+0xe/0x1a [rfcomm]
 [&lt;ffffffff810554a8&gt;] run_timer_softirq+0x1e2/0x29a
 [&lt;ffffffffa03d28a6&gt;] ? rfcomm_session_timeout+0x0/0x1a [rfcomm]
 [&lt;ffffffff8104e0f6&gt;] __do_softirq+0xfe/0x1c5
 [&lt;ffffffff8100e8ce&gt;] ? timer_interrupt+0x1a/0x21
 [&lt;ffffffff8100cc4c&gt;] call_softirq+0x1c/0x28
 [&lt;ffffffff8100e05b&gt;] do_softirq+0x33/0x6b
 [&lt;ffffffff8104daf6&gt;] irq_exit+0x36/0x85
 [&lt;ffffffff8100d7a9&gt;] do_IRQ+0xa6/0xbd
 [&lt;ffffffff8100c493&gt;] ret_from_intr+0x0/0xa
 &lt;EOI&gt;  [&lt;ffffffff812585b3&gt;] ? acpi_idle_enter_bm+0x269/0x294
 [&lt;ffffffff812585a9&gt;] ? acpi_idle_enter_bm+0x25f/0x294
 [&lt;ffffffff81373ddc&gt;] ? cpuidle_idle_call+0x97/0x107
 [&lt;ffffffff8100aca0&gt;] ? cpu_idle+0x53/0xaa
 [&lt;ffffffff81429006&gt;] ? rest_init+0x7a/0x7c
 [&lt;ffffffff8177bc8c&gt;] ? start_kernel+0x389/0x394
 [&lt;ffffffff8177b29c&gt;] ? x86_64_start_reservations+0xac/0xb0
 [&lt;ffffffff8177b384&gt;] ? x86_64_start_kernel+0xe4/0xeb

To fix this, the rfcomm_session_put() needs to be moved out of
rfcomm_session_timeout() into rfcomm_process_sessions(). In that
context it is perfectly fine to sleep and disconnect the socket.

Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Tested-by: David John &lt;davidjon@xenontk.org&gt;
Cc: Chase Douglas &lt;chase.douglas@canonical.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Fix regression with L2CAP configuration in Basic Mode</title>
<updated>2009-11-16T00:31:41+00:00</updated>
<author>
<name>Gustavo F. Padovan</name>
<email>gustavo@las.ic.unicamp.br</email>
</author>
<published>2009-10-18T00:41:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=68ae6639b6dff117ba37f648f1611a4629abadf0'/>
<id>68ae6639b6dff117ba37f648f1611a4629abadf0</id>
<content type='text'>
Basic Mode is the default mode of operation of a L2CAP entity. In
this case the RFC (Retransmission and Flow Control) configuration
option should not be used at all.

Normally remote L2CAP implementation should just ignore this option,
but it can cause various side effects with other Bluetooth stacks
that are not capable of handling unknown options.

Signed-off-by: Gustavo F. Padovan &lt;gustavo@las.ic.unicamp.br&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Basic Mode is the default mode of operation of a L2CAP entity. In
this case the RFC (Retransmission and Flow Control) configuration
option should not be used at all.

Normally remote L2CAP implementation should just ignore this option,
but it can cause various side effects with other Bluetooth stacks
that are not capable of handling unknown options.

Signed-off-by: Gustavo F. Padovan &lt;gustavo@las.ic.unicamp.br&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bluetooth: Select Basic Mode as default for SOCK_SEQPACKET</title>
<updated>2009-11-16T00:31:16+00:00</updated>
<author>
<name>Gustavo F. Padovan</name>
<email>gustavo@las.ic.unicamp.br</email>
</author>
<published>2009-09-29T04:42:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a0e55a32afc2130e5ae506755e4b8eb42a23b568'/>
<id>a0e55a32afc2130e5ae506755e4b8eb42a23b568</id>
<content type='text'>
The default mode for SOCK_SEQPACKET is Basic Mode. So when no
mode has been specified, Basic Mode shall be used.

This is important for current application to keep working as
expected and not cause a regression.

Signed-off-by: Gustavo F. Padovan &lt;gustavo@las.ic.unicamp.br&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The default mode for SOCK_SEQPACKET is Basic Mode. So when no
mode has been specified, Basic Mode shall be used.

This is important for current application to keep working as
expected and not cause a regression.

Signed-off-by: Gustavo F. Padovan &lt;gustavo@las.ic.unicamp.br&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
