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-Url: http://git.maquefel.me/?a=commitdiff_plain;h=23bc6ab0a0912146fd674a0becc758c3162baabc;p=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 388ee8b591450..1842141baedb6 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; }