Browse Source

Bluetooth: Fix l2cap_sock_setsockopt() with optname BT_RCVMTU

When we retrieve imtu value from userspace we should use 16 bit pointer
cast instead of 32 as it's defined that way in headers. Fixes setsockopt
calls on big-endian platforms.

Signed-off-by: Amadeusz Sławiński <amadeusz.slawinski@tieto.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Cc: stable@vger.kernel.org
Amadeusz Sławiński 9 years ago
parent
commit
23bc6ab0a0
1 changed files with 1 additions and 1 deletions
  1. 1 1
      net/bluetooth/l2cap_sock.c

+ 1 - 1
net/bluetooth/l2cap_sock.c

@@ -927,7 +927,7 @@ static int l2cap_sock_setsockopt(struct socket *sock, int level, int optname,
 			break;
 		}
 
-		if (get_user(opt, (u32 __user *) optval)) {
+		if (get_user(opt, (u16 __user *) optval)) {
 			err = -EFAULT;
 			break;
 		}