From: Amadeusz Sławiński Date: Thu, 14 Jul 2016 08:50:23 +0000 (+0200) Subject: Bluetooth: Fix l2cap_sock_setsockopt() with optname BT_RCVMTU X-Git-Tag: v4.8-rc1~140^2~61^2~4 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=23bc6ab0a0912146fd674a0becc758c3162baabc;p=karo-tx-linux.git 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 Signed-off-by: Marcel Holtmann Cc: stable@vger.kernel.org --- diff --git a/net/bluetooth/l2cap_sock.c b/net/bluetooth/l2cap_sock.c index 388ee8b59145..1842141baedb 100644 --- a/net/bluetooth/l2cap_sock.c +++ b/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; }