bluetooth: l2cap: add security setting check
authorFugang Duan <fugang.duan@nxp.com>
Thu, 14 Mar 2019 09:56:57 +0000 (17:56 +0800)
committerLeonard Crestez <leonard.crestez@nxp.com>
Thu, 2 May 2019 08:35:31 +0000 (11:35 +0300)
Add security setting check for socket interface since
stack will check the return value.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com>
(cherry picked from commit a23098e20ce214d134cc3cef3ad51a6bba13b99a)

net/bluetooth/l2cap_sock.c

index a3a2cd5..c71b97f 100644 (file)
@@ -793,8 +793,11 @@ static int l2cap_sock_setsockopt(struct socket *sock, int level, int optname,
 
                /*change security for LE channels */
                if (chan->scid == L2CAP_CID_ATT) {
-                       if (smp_conn_security(conn->hcon, sec.level))
+                       if (smp_conn_security(conn->hcon, sec.level)) {
+                               err = -EINVAL;
                                break;
+                       }
+
                        set_bit(FLAG_PENDING_SECURITY, &chan->flags);
                        sk->sk_state = BT_CONFIG;
                        chan->state = BT_CONFIG;