• Johan Hedberg's avatar
    Bluetooth: Fix check for connection encryption · e694788d
    Johan Hedberg authored
    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>
    Cc: stable@vger.kernel.org
    e694788d
hci_conn.c 31 KB