lkml.org 
[lkml]   [2013]   [Oct]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[ 075/135] Bluetooth: Fix security level for peripheral role
    Date
    3.11-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Andre Guedes <andre.guedes@openbossa.org>

    commit f8776218e8546397be64ad2bc0ebf4748522d6e3 upstream.

    While playing the peripheral role, the host gets a LE Long Term Key
    Request Event from the controller when a connection is established
    with a bonded device. The host then informs the LTK which should be
    used for the connection. Once the link is encrypted, the host gets
    an Encryption Change Event.

    Therefore we should set conn->pending_sec_level instead of conn->
    sec_level in hci_le_ltk_request_evt. This way, conn->sec_level is
    properly updated in hci_encrypt_change_evt.

    Moreover, since we have a LTK associated to the device, we have at
    least BT_SECURITY_MEDIUM security level.

    Signed-off-by: Andre Guedes <andre.guedes@openbossa.org>
    Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    net/bluetooth/hci_event.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    --- a/net/bluetooth/hci_event.c
    +++ b/net/bluetooth/hci_event.c
    @@ -3552,7 +3552,9 @@ static void hci_le_ltk_request_evt(struc
    cp.handle = cpu_to_le16(conn->handle);

    if (ltk->authenticated)
    - conn->sec_level = BT_SECURITY_HIGH;
    + conn->pending_sec_level = BT_SECURITY_HIGH;
    + else
    + conn->pending_sec_level = BT_SECURITY_MEDIUM;

    hci_send_cmd(hdev, HCI_OP_LE_LTK_REPLY, sizeof(cp), &cp);




    \
     
     \ /
      Last update: 2013-10-12 00:41    [W:3.901 / U:0.096 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site