0492-Bluetooth-Fix-l2cap_sock_setsockopt-with-optname-BT_.patch 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. From 4f740b73749a855452f283909401139692633600 Mon Sep 17 00:00:00 2001
  2. From: =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?=
  3. <amadeusz.slawinski@tieto.com>
  4. Date: Thu, 14 Jul 2016 10:50:23 +0200
  5. Subject: [PATCH] Bluetooth: Fix l2cap_sock_setsockopt() with optname BT_RCVMTU
  6. MIME-Version: 1.0
  7. Content-Type: text/plain; charset=UTF-8
  8. Content-Transfer-Encoding: 8bit
  9. commit 23bc6ab0a0912146fd674a0becc758c3162baabc upstream.
  10. When we retrieve imtu value from userspace we should use 16 bit pointer
  11. cast instead of 32 as it's defined that way in headers. Fixes setsockopt
  12. calls on big-endian platforms.
  13. Signed-off-by: Amadeusz Sławiński <amadeusz.slawinski@tieto.com>
  14. Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
  15. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  16. ---
  17. net/bluetooth/l2cap_sock.c | 2 +-
  18. 1 file changed, 1 insertion(+), 1 deletion(-)
  19. --- a/net/bluetooth/l2cap_sock.c
  20. +++ b/net/bluetooth/l2cap_sock.c
  21. @@ -817,7 +817,7 @@ static int l2cap_sock_setsockopt(struct
  22. break;
  23. }
  24. - if (get_user(opt, (u32 __user *) optval)) {
  25. + if (get_user(opt, (u16 __user *) optval)) {
  26. err = -EFAULT;
  27. break;
  28. }