From: Gustavo F. Padovan Date: Mon, 4 Oct 2010 22:28:52 +0000 (-0300) Subject: Bluetooth: Disallow to change L2CAP_OPTIONS values when connected X-Git-Tag: v2.6.36-rc8~2^2~15^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=eaa71b318c5ed0cd1ac3182a533471dc5edf372d;p=platform%2Fkernel%2Flinux-exynos.git Bluetooth: Disallow to change L2CAP_OPTIONS values when connected L2CAP doesn't permit change like MTU, FCS, TxWindow values while the connection is alive, we can only set that before the connection/configuration process. That can lead to bugs in the L2CAP operation. Signed-off-by: Gustavo F. Padovan --- diff --git a/net/bluetooth/l2cap.c b/net/bluetooth/l2cap.c index 44a8fb0..0b54b7d 100644 --- a/net/bluetooth/l2cap.c +++ b/net/bluetooth/l2cap.c @@ -1950,6 +1950,11 @@ static int l2cap_sock_setsockopt_old(struct socket *sock, int optname, char __us switch (optname) { case L2CAP_OPTIONS: + if (sk->sk_state == BT_CONNECTED) { + err = -EINVAL; + break; + } + opts.imtu = l2cap_pi(sk)->imtu; opts.omtu = l2cap_pi(sk)->omtu; opts.flush_to = l2cap_pi(sk)->flush_to;