stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org,
	Nicolas Iooss <nicolas.iooss_linux@m4x.org>
Subject: [PATCH 4.8 05/10] usb: usbip: vudc: fix left shift overflow
Date: Thu,  6 Oct 2016 10:18:28 +0200	[thread overview]
Message-ID: <20161006074741.122945459@linuxfoundation.org> (raw)
In-Reply-To: <20161006074740.913116523@linuxfoundation.org>

4.8-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Nicolas Iooss <nicolas.iooss_linux@m4x.org>

commit 238b7bd91b16d5a08326f858db42229b212e53d8 upstream.

In v_recv_cmd_submit(), urb_p->urb->pipe has the type unsigned int
(which is 32-bit long on x86_64) but 11<<30 results in a 34-bit integer.
Therefore the 2 leading bits are truncated and

    urb_p->urb->pipe &= ~(11 << 30);

has the same meaning as

    urb_p->urb->pipe &= ~(3 << 30);

This second statement seems to be how the code was intended to be
written, as PIPE_ constants have values between 0 and 3.

The overflow has been detected with a clang warning:

    drivers/usb/usbip/vudc_rx.c:145:27: warning: signed shift result
    (0x2C0000000) requires 35 bits to represent, but 'int' only has 32
    bits [-Wshift-overflow]
            urb_p->urb->pipe &= ~(11 << 30);
                                  ~~ ^  ~~

Fixes: 79c02cb1fd5c ("usbip: vudc: Add vudc_rx")
Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@m4x.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/usb/usbip/vudc_rx.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/usb/usbip/vudc_rx.c
+++ b/drivers/usb/usbip/vudc_rx.c
@@ -142,7 +142,7 @@ static int v_recv_cmd_submit(struct vudc
 	urb_p->urb->status = -EINPROGRESS;
 
 	/* FIXME: more pipe setup to please usbip_common */
-	urb_p->urb->pipe &= ~(11 << 30);
+	urb_p->urb->pipe &= ~(3 << 30);
 	switch (urb_p->ep->type) {
 	case USB_ENDPOINT_XFER_BULK:
 		urb_p->urb->pipe |= (PIPE_BULK << 30);



  parent reply	other threads:[~2016-10-06  8:19 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20161006081902uscas1p14629784f61bb4f76ecbc7f7298e4eeb3@uscas1p1.samsung.com>
2016-10-06  8:18 ` [PATCH 4.8 00/10] 4.8.1-stable review Greg Kroah-Hartman
2016-10-06  8:18   ` [PATCH 4.8 01/10] arm64: debug: avoid resetting stepping state machine when TIF_SINGLESTEP Greg Kroah-Hartman
2016-10-06  8:18   ` [PATCH 4.8 02/10] Using BUG_ON() as an assert() is _never_ acceptable Greg Kroah-Hartman
2016-10-06  8:18   ` [PATCH 4.8 03/10] usb: misc: legousbtower: Fix NULL pointer deference Greg Kroah-Hartman
2016-10-06  8:18   ` [PATCH 4.8 04/10] Staging: fbtft: Fix bug in fbtft-core Greg Kroah-Hartman
2016-10-06  8:18   ` Greg Kroah-Hartman [this message]
2016-10-06  8:18   ` [PATCH 4.8 06/10] USB: serial: cp210x: Add ID for a Juniper console Greg Kroah-Hartman
2016-10-06  8:18   ` [PATCH 4.8 07/10] Revert "usbtmc: convert to devm_kzalloc" Greg Kroah-Hartman
2016-10-06  8:18   ` [PATCH 4.8 08/10] ALSA: hda - Adding one more ALC255 pin definition for headset problem Greg Kroah-Hartman
2016-10-06  8:18   ` [PATCH 4.8 09/10] ALSA: hda - Fix headset mic detection problem for several Dell laptops Greg Kroah-Hartman
2016-10-06  8:18   ` [PATCH 4.8 10/10] ALSA: hda - Add the top speaker pin config for HP Spectre x360 Greg Kroah-Hartman
2016-10-06 18:51   ` [PATCH 4.8 00/10] 4.8.1-stable review Guenter Roeck
2016-10-07  4:05     ` Greg Kroah-Hartman
2016-10-06 19:56   ` Shuah Khan
2016-10-07  4:05     ` Greg Kroah-Hartman
     [not found]   ` <57f820fc.4398c20a.3305b.cf51@mx.google.com>
2016-10-08 14:03     ` Greg Kroah-Hartman
2016-10-08 16:11       ` Kevin Hilman
2016-10-08 17:22         ` Guenter Roeck
2016-10-10  9:38           ` Mark Brown
2016-10-10 12:54             ` Guenter Roeck
2016-10-10 19:11               ` Mark Brown
2016-10-10 19:47                 ` Guenter Roeck
2016-10-11  7:24                   ` Mark Brown
2016-10-11 10:19                   ` Mark Brown
2016-10-11 13:37                     ` Guenter Roeck

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20161006074741.122945459@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nicolas.iooss_linux@m4x.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).