• Johan Hedberg's avatar
    Bluetooth: Fix check for connection encryption · d6b05102
    Johan Hedberg authored
    commit e694788d upstream.
    
    The conn->link_key variable tracks the type of link key in use. It is
    set whenever we respond to a link key request as well as when we get a
    link key notification event.
    
    These two events do not however always guarantee that encryption is
    enabled: getting a link key request and responding to it may only mean
    that the remote side has requested authentication but not encryption. On
    the other hand, the encrypt change event is a certain guarantee that
    encryption is enabled. The real encryption state is already tracked in
    the conn->link_mode variable through the HCI_LM_ENCRYPT bit.
    
    This patch fixes a check for encryption in the hci_conn_auth function to
    use the proper conn->link_mode value and thereby eliminates the chance
    of a false positive result.
    Signed-off-by: default avatarJohan Hedberg <johan.hedberg@intel.com>
    Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
    [bwh: Backported to 3.2: adjust context]
    Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
    d6b05102
hci_conn.c 22 KB