mirror of
				https://github.com/Ysurac/openmptcprouter.git
				synced 2025-03-09 15:40:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			44 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 00de9e45fe619d9fd3e810d10d99ac328ee5190c Mon Sep 17 00:00:00 2001
 | |
| From: Marcel Holtmann <marcel@holtmann.org>
 | |
| Date: Wed, 22 May 2019 09:05:40 +0200
 | |
| Subject: [PATCH 506/515] Bluetooth: Check key sizes only when Secure Simple
 | |
|  Pairing is enabled
 | |
| 
 | |
| The encryption is only mandatory to be enforced when both sides are using
 | |
| Secure Simple Pairing and this means the key size check makes only sense
 | |
| in that case.
 | |
| 
 | |
| On legacy Bluetooth 2.0 and earlier devices like mice the encryption was
 | |
| optional and thus causing an issue if the key size check is not bound to
 | |
| using Secure Simple Pairing.
 | |
| 
 | |
| Fixes: d5bb334a8e17 ("Bluetooth: Align minimum encryption key size for LE and BR/EDR connections")
 | |
| Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
 | |
| Cc: stable@vger.kernel.org
 | |
| ---
 | |
|  net/bluetooth/hci_conn.c | 9 +++++++--
 | |
|  1 file changed, 7 insertions(+), 2 deletions(-)
 | |
| 
 | |
| diff --git a/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c
 | |
| index 3cf0764d5793..7516cdde3373 100644
 | |
| --- a/net/bluetooth/hci_conn.c
 | |
| +++ b/net/bluetooth/hci_conn.c
 | |
| @@ -1272,8 +1272,13 @@ int hci_conn_check_link_mode(struct hci_conn *conn)
 | |
|  			return 0;
 | |
|  	}
 | |
|  
 | |
| -	if (hci_conn_ssp_enabled(conn) &&
 | |
| -	    !test_bit(HCI_CONN_ENCRYPT, &conn->flags))
 | |
| +	/* If Secure Simple Pairing is not enabled, then legacy connection
 | |
| +	 * setup is used and no encryption or key sizes can be enforced.
 | |
| +	 */
 | |
| +	if (!hci_conn_ssp_enabled(conn))
 | |
| +		return 1;
 | |
| +
 | |
| +	if (!test_bit(HCI_CONN_ENCRYPT, &conn->flags))
 | |
|  		return 0;
 | |
|  
 | |
|  	/* The minimum encryption key size needs to be enforced by the
 | |
| -- 
 | |
| 2.19.1
 | |
| 
 |