<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/include/net/bluetooth, branch v3.4.33</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/include/net/bluetooth?h=v3.4.33</id>
<link rel='self' href='https://git.amat.us/linux/atom/include/net/bluetooth?h=v3.4.33'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-10-02T17:30:34Z</updated>
<entry>
<title>Bluetooth: Change signature of smp_conn_security()</title>
<updated>2012-10-02T17:30:34Z</updated>
<author>
<name>Vinicius Costa Gomes</name>
<email>vinicius.gomes@openbossa.org</email>
</author>
<published>2012-08-24T00:32:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0fcc0805df9cf7483e927cf6a4dc94938318c06a'/>
<id>urn:sha1:0fcc0805df9cf7483e927cf6a4dc94938318c06a</id>
<content type='text'>
commit cc110922da7e902b62d18641a370fec01a9fa794 upstream.

To make it clear that it may be called from contexts that may not have
any knowledge of L2CAP, we change the connection parameter, to receive
a hci_conn.

This also makes it clear that it is checking the security of the link.

Signed-off-by: Vinicius Costa Gomes &lt;vinicius.gomes@openbossa.org&gt;
Signed-off-by: Gustavo Padovan &lt;gustavo.padovan@collabora.co.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Bluetooth: notify userspace of security level change</title>
<updated>2012-05-14T17:51:25Z</updated>
<author>
<name>Gustavo Padovan</name>
<email>gustavo@padovan.org</email>
</author>
<published>2012-05-13T06:20:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a7d7723ae7c0178d715c06c5621e8fd8014ba92f'/>
<id>urn:sha1: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>
</entry>
<entry>
<title>Bluetooth: Temporary keys should be retained during connection</title>
<updated>2012-04-16T09:57:45Z</updated>
<author>
<name>Vishal Agarwal</name>
<email>vishal.agarwal@stericsson.com</email>
</author>
<published>2012-04-16T09:14:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6ec5bcadc21e13ceba8c144e4731eccac01d04f7'/>
<id>urn:sha1:6ec5bcadc21e13ceba8c144e4731eccac01d04f7</id>
<content type='text'>
If a key is non persistent then it should not be used in future
connections but it should be kept for current connection. And it
should be removed when connecion is removed.

Signed-off-by: Vishal Agarwal &lt;vishal.agarwal@stericsson.com&gt;
Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
</content>
</entry>
<entry>
<title>Bluetooth: hci_persistent_key should return bool</title>
<updated>2012-04-16T09:57:40Z</updated>
<author>
<name>Vishal Agarwal</name>
<email>vishal.agarwal@stericsson.com</email>
</author>
<published>2012-04-13T12:13:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=745c0ce35f904aeff8e1ea325c259a14a00ff1b7'/>
<id>urn:sha1:745c0ce35f904aeff8e1ea325c259a14a00ff1b7</id>
<content type='text'>
This patch changes the return type of function hci_persistent_key
from int to bool because it makes more sense to return information
whether a key is persistent or not as a bool.

Signed-off-by: Vishal Agarwal &lt;vishal.agarwal@stericsson.com&gt;
Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
</content>
</entry>
<entry>
<title>Bluetooth: Fix userspace compatibility issue with mgmt interface</title>
<updated>2012-04-05T18:05:51Z</updated>
<author>
<name>Gustavo Padovan</name>
<email>gustavo@padovan.org</email>
</author>
<published>2012-03-29T12:47:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=66f3b913e68e8e62bd2f9499495eeb6cc81b2662'/>
<id>urn:sha1:66f3b913e68e8e62bd2f9499495eeb6cc81b2662</id>
<content type='text'>
To ensure that old user space versions do not accidentally pick up and
try to use the management channel, use a different channel number.

Reported-by: Keith Packard &lt;keithp@keithp.com&gt;
Acked-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Gustavo Padovan &lt;gustavo@padovan.org&gt;
</content>
</entry>
<entry>
<title>Bluetooth: mgmt: Fix timeout type</title>
<updated>2012-03-28T18:13:18Z</updated>
<author>
<name>Andrei Emeltchenko</name>
<email>andrei.emeltchenko@intel.com</email>
</author>
<published>2012-03-19T07:42:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c732a2af12e20f2784c8b0c9d2e289579313a413'/>
<id>urn:sha1:c732a2af12e20f2784c8b0c9d2e289579313a413</id>
<content type='text'>
Silence sparse warnings:
net/bluetooth/mgmt.c:865:19: warning: cast to restricted __le16

Signed-off-by: Andrei Emeltchenko &lt;andrei.emeltchenko@intel.com&gt;
Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Gustavo Padovan &lt;gustavo@padovan.org&gt;
</content>
</entry>
<entry>
<title>Bluetooth: Check for minimum data length in eir_has_data_type()</title>
<updated>2012-03-28T15:02:40Z</updated>
<author>
<name>Johan Hedberg</name>
<email>johan.hedberg@intel.com</email>
</author>
<published>2012-03-26T11:21:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6c0c331e4c8ff6c0f7fa6cc5fd08d853d6c579c4'/>
<id>urn:sha1:6c0c331e4c8ff6c0f7fa6cc5fd08d853d6c579c4</id>
<content type='text'>
If passed 0 as data_length the (parsed &lt; data_length - 1) test will be
true and cause a buffer overflow. In practice we need at least two bytes
for the element length and type so add a test for it to the very
beginning of the function.

Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Gustavo Padovan &lt;gustavo@padovan.org&gt;
</content>
</entry>
<entry>
<title>Bluetooth: Don't increment twice in eir_has_data_type()</title>
<updated>2012-03-28T15:02:40Z</updated>
<author>
<name>Johan Hedberg</name>
<email>johan.hedberg@intel.com</email>
</author>
<published>2012-03-26T11:21:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=84d9d0716b2d5f4a27de4801bd2dbf7aff5e1c38'/>
<id>urn:sha1:84d9d0716b2d5f4a27de4801bd2dbf7aff5e1c38</id>
<content type='text'>
The parsed variable is already incremented inside the for-loop so there
no need to increment it again (not to mention that the code was
incrementing it the wrong amount).

Reported-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Gustavo Padovan &lt;gustavo@padovan.org&gt;
</content>
</entry>
<entry>
<title>Bluetooth: hci_core: fix NULL-pointer dereference at unregister</title>
<updated>2012-03-28T15:02:35Z</updated>
<author>
<name>Johan Hovold</name>
<email>jhovold@gmail.com</email>
</author>
<published>2012-03-15T13:48:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=94324962066231a938564bebad0f941cd2d06bb2'/>
<id>urn:sha1:94324962066231a938564bebad0f941cd2d06bb2</id>
<content type='text'>
Make sure hci_dev_open returns immediately if hci_dev_unregister has
been called.

This fixes a race between hci_dev_open and hci_dev_unregister which can
lead to a NULL-pointer dereference.

Bug is 100% reproducible using hciattach and a disconnected serial port:

0. # hciattach -n /dev/ttyO1 any noflow

1. hci_dev_open called from hci_power_on grabs req lock
2. hci_init_req executes but device fails to initialise (times out
   eventually)
3. hci_dev_open is called from hci_sock_ioctl and sleeps on req lock
4. hci_uart_tty_close calls hci_dev_unregister and sleeps on req lock in
   hci_dev_do_close
5. hci_dev_open (1) releases req lock
6. hci_dev_do_close grabs req lock and returns as device is not up
7. hci_dev_unregister sleeps in destroy_workqueue
8. hci_dev_open (3) grabs req lock, calls hci_init_req and eventually sleeps
9. hci_dev_unregister finishes, while hci_dev_open is still running...

[   79.627136] INFO: trying to register non-static key.
[   79.632354] the code is fine but needs lockdep annotation.
[   79.638122] turning off the locking correctness validator.
[   79.643920] [&lt;c00188bc&gt;] (unwind_backtrace+0x0/0xf8) from [&lt;c00729c4&gt;] (__lock_acquire+0x1590/0x1ab0)
[   79.653594] [&lt;c00729c4&gt;] (__lock_acquire+0x1590/0x1ab0) from [&lt;c00733f8&gt;] (lock_acquire+0x9c/0x128)
[   79.663085] [&lt;c00733f8&gt;] (lock_acquire+0x9c/0x128) from [&lt;c0040a88&gt;] (run_timer_softirq+0x150/0x3ac)
[   79.672668] [&lt;c0040a88&gt;] (run_timer_softirq+0x150/0x3ac) from [&lt;c003a3b8&gt;] (__do_softirq+0xd4/0x22c)
[   79.682281] [&lt;c003a3b8&gt;] (__do_softirq+0xd4/0x22c) from [&lt;c003a924&gt;] (irq_exit+0x8c/0x94)
[   79.690856] [&lt;c003a924&gt;] (irq_exit+0x8c/0x94) from [&lt;c0013a50&gt;] (handle_IRQ+0x34/0x84)
[   79.699157] [&lt;c0013a50&gt;] (handle_IRQ+0x34/0x84) from [&lt;c0008530&gt;] (omap3_intc_handle_irq+0x48/0x4c)
[   79.708648] [&lt;c0008530&gt;] (omap3_intc_handle_irq+0x48/0x4c) from [&lt;c037499c&gt;] (__irq_usr+0x3c/0x60)
[   79.718048] Exception stack(0xcf281fb0 to 0xcf281ff8)
[   79.723358] 1fa0:                                     0001e6a0 be8dab00 0001e698 00036698
[   79.731933] 1fc0: 0002df98 0002df38 0000001f 00000000 b6f234d0 00000000 00000004 00000000
[   79.740509] 1fe0: 0001e6f8 be8d6aa0 be8dac50 0000aab8 80000010 ffffffff
[   79.747497] Unable to handle kernel NULL pointer dereference at virtual address 00000000
[   79.756011] pgd = cf3b4000
[   79.758850] [00000000] *pgd=8f0c7831, *pte=00000000, *ppte=00000000
[   79.765502] Internal error: Oops: 80000007 [#1]
[   79.770294] Modules linked in:
[   79.773529] CPU: 0    Tainted: G        W     (3.3.0-rc6-00002-gb5d5c87 #421)
[   79.781066] PC is at 0x0
[   79.783721] LR is at run_timer_softirq+0x16c/0x3ac
[   79.788787] pc : [&lt;00000000&gt;]    lr : [&lt;c0040aa4&gt;]    psr: 60000113
[   79.788787] sp : cf281ee0  ip : 00000000  fp : cf280000
[   79.800903] r10: 00000004  r9 : 00000100  r8 : b6f234d0
[   79.806427] r7 : c0519c28  r6 : cf093488  r5 : c0561a00  r4 : 00000000
[   79.813323] r3 : 00000000  r2 : c054eee0  r1 : 00000001  r0 : 00000000
[   79.820190] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
[   79.827728] Control: 10c5387d  Table: 8f3b4019  DAC: 00000015
[   79.833801] Process gpsd (pid: 1265, stack limit = 0xcf2802e8)
[   79.839965] Stack: (0xcf281ee0 to 0xcf282000)
[   79.844573] 1ee0: 00000002 00000000 c0040a24 00000000 00000002 cf281f08 00200200 00000000
[   79.853210] 1f00: 00000000 cf281f18 cf281f08 00000000 00000000 00000000 cf281f18 cf281f18
[   79.861816] 1f20: 00000000 00000001 c056184c 00000000 00000001 b6f234d0 c0561848 00000004
[   79.870452] 1f40: cf280000 c003a3b8 c051e79c 00000001 00000000 00000100 3fa9e7b8 0000000a
[   79.879089] 1f60: 00000025 cf280000 00000025 00000000 00000000 b6f234d0 00000000 00000004
[   79.887756] 1f80: 00000000 c003a924 c053ad38 c0013a50 fa200000 cf281fb0 ffffffff c0008530
[   79.896362] 1fa0: 0001e6a0 0000aab8 80000010 c037499c 0001e6a0 be8dab00 0001e698 00036698
[   79.904998] 1fc0: 0002df98 0002df38 0000001f 00000000 b6f234d0 00000000 00000004 00000000
[   79.913665] 1fe0: 0001e6f8 be8d6aa0 be8dac50 0000aab8 80000010 ffffffff 00fbf700 04ffff00
[   79.922302] [&lt;c0040aa4&gt;] (run_timer_softirq+0x16c/0x3ac) from [&lt;c003a3b8&gt;] (__do_softirq+0xd4/0x22c)
[   79.931945] [&lt;c003a3b8&gt;] (__do_softirq+0xd4/0x22c) from [&lt;c003a924&gt;] (irq_exit+0x8c/0x94)
[   79.940582] [&lt;c003a924&gt;] (irq_exit+0x8c/0x94) from [&lt;c0013a50&gt;] (handle_IRQ+0x34/0x84)
[   79.948913] [&lt;c0013a50&gt;] (handle_IRQ+0x34/0x84) from [&lt;c0008530&gt;] (omap3_intc_handle_irq+0x48/0x4c)
[   79.958404] [&lt;c0008530&gt;] (omap3_intc_handle_irq+0x48/0x4c) from [&lt;c037499c&gt;] (__irq_usr+0x3c/0x60)
[   79.967773] Exception stack(0xcf281fb0 to 0xcf281ff8)
[   79.973083] 1fa0:                                     0001e6a0 be8dab00 0001e698 00036698
[   79.981658] 1fc0: 0002df98 0002df38 0000001f 00000000 b6f234d0 00000000 00000004 00000000
[   79.990234] 1fe0: 0001e6f8 be8d6aa0 be8dac50 0000aab8 80000010 ffffffff
[   79.997161] Code: bad PC value
[   80.000396] ---[ end trace 6f6739840475f9ee ]---
[   80.005279] Kernel panic - not syncing: Fatal exception in interrupt

Cc: stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Johan Hovold &lt;jhovold@gmail.com&gt;
Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
</content>
</entry>
<entry>
<title>Bluetooth: Use correct flags for checking HCI_SSP_ENABLED bit</title>
<updated>2012-03-28T15:02:19Z</updated>
<author>
<name>Hemant Gupta</name>
<email>hemant.gupta@stericsson.com</email>
</author>
<published>2012-03-28T11:39:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3f17790c2d8524c3ddc4946bd716714becf079e1'/>
<id>urn:sha1:3f17790c2d8524c3ddc4946bd716714becf079e1</id>
<content type='text'>
This patch uses the correct flags for checking the HCI_SSP_ENABLED bit.
Without this authentication request was not being initiated.

Signed-off-by: Hemant Gupta &lt;hemant.gupta@stericsson.com&gt;
Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Johan Hedberg &lt;johan.hedberg@intel.com&gt;
</content>
</entry>
</feed>
