summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohan Hedberg2014-01-06 17:27:02 +0100
committerMarcel Holtmann2014-01-06 18:26:23 +0100
commitcb6ca8e1ed922082bacc6e5e5ee040491a443ea2 (patch)
treec8f540aef3f91e1d36f5e75dfbcbf3cd79f2ff36
parentBluetooth: Fix NULL pointer dereference when disconnecting (diff)
downloadkernel-qcow2-linux-cb6ca8e1ed922082bacc6e5e5ee040491a443ea2.tar.gz
kernel-qcow2-linux-cb6ca8e1ed922082bacc6e5e5ee040491a443ea2.tar.xz
kernel-qcow2-linux-cb6ca8e1ed922082bacc6e5e5ee040491a443ea2.zip
Bluetooth: Default to no security with L2CAP RAW sockets
L2CAP RAW sockets can be used for things which do not involve establishing actual connection oriented L2CAP channels. One example of such usage is the l2ping tool. The default security level for L2CAP sockets is LOW, which implies that for SSP based connection authentication is still requested (although with no MITM requirement), which is not what we want (or need) for things like l2ping. Therefore, default to one lower level, i.e. BT_SECURITY_SDP, for L2CAP RAW sockets in order not to trigger unwanted authentication requests. Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
-rw-r--r--net/bluetooth/l2cap_sock.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/bluetooth/l2cap_sock.c b/net/bluetooth/l2cap_sock.c
index e7806e6d282c..20ef748b2906 100644
--- a/net/bluetooth/l2cap_sock.c
+++ b/net/bluetooth/l2cap_sock.c
@@ -147,6 +147,9 @@ static int l2cap_sock_bind(struct socket *sock, struct sockaddr *addr, int alen)
__le16_to_cpu(la.l2_psm) == L2CAP_PSM_RFCOMM)
chan->sec_level = BT_SECURITY_SDP;
break;
+ case L2CAP_CHAN_RAW:
+ chan->sec_level = BT_SECURITY_SDP;
+ break;
}
bacpy(&chan->src, &la.l2_bdaddr);