From: sathyanarayanan.kuppuswamy@linux.intel.com
To: Greg KH <gregkh@linuxfoundation.org>
Cc: Oliver Neukum <oneukum@suse.com>,
johan@kernel.org, linux-kernel@vger.kernel.org,
linux-usb@vger.kernel.org
Subject: [v1,1/1] USB: serial: Add boundry check for read_urbs array access
Date: Thu, 8 Mar 2018 16:34:44 -0800 [thread overview]
Message-ID: <a3cc4530-984e-cb7c-b3cf-38ad8cd7bb81@linux.intel.com> (raw)
On 03/08/2018 03:43 PM, Greg KH wrote:
> On Thu, Mar 08, 2018 at 03:29:48PM -0800, sathyanarayanan kuppuswamy wrote:
>>
>> On 03/08/2018 12:54 AM, Oliver Neukum wrote:
>>> Am Mittwoch, den 07.03.2018, 13:41 -0800 schrieb sathyanarayanan
>>> kuppuswamy :
>>>> On 03/07/2018 12:58 PM, Greg KH wrote:
>>>>> So I don't see why your check is needed, what other code path would ever
>>>>> call this function in a way that the bounds check would be needed?
>>>> void usb_serial_generic_read_bulk_callback(struct urb *urb)
>>>>
>>>> 385 for (i = 0; i < ARRAY_SIZE(port->read_urbs); ++i) {
>>>> 386 if (urb == port->read_urbs[i])
>>>> 387 break;
>>>> 388 }
>>>>
>>>> In here, after this for loop is done (without any matching urb), i value
>>>> will be equal to ARRAY_SIZE(port->read_urbs). So there is a possibility
>>>> of usb_serial_generic_submit_read_urb() getting called with this invalid
>>>> index.
>>> If this happens the function was called for a stray URB.
>>> Your check comes to late. We have called set_bit with an invalid index
>>> and other shit.
>>> We definitely do not just want to return an error in that case.
>> In that case do you think we should use some WARN_ON() for invalid index in
>> usb_serial_generic_read_bulk_callback()?
> No, again, how could that ever happen?
>
> Don't add pointless error checking for things that are impossible to
> ever hit :)
Thanks Greg.
>
> thanks,
>
> greg k-h
> --
> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
WARNING: multiple messages have this Message-ID (diff)
From: sathyanarayanan kuppuswamy <sathyanarayanan.kuppuswamy@linux.intel.com>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: Oliver Neukum <oneukum@suse.com>,
johan@kernel.org, linux-kernel@vger.kernel.org,
linux-usb@vger.kernel.org
Subject: Re: [PATCH v1 1/1] USB: serial: Add boundry check for read_urbs array access
Date: Thu, 8 Mar 2018 16:34:44 -0800 [thread overview]
Message-ID: <a3cc4530-984e-cb7c-b3cf-38ad8cd7bb81@linux.intel.com> (raw)
In-Reply-To: <20180308234306.GA22931@kroah.com>
On 03/08/2018 03:43 PM, Greg KH wrote:
> On Thu, Mar 08, 2018 at 03:29:48PM -0800, sathyanarayanan kuppuswamy wrote:
>>
>> On 03/08/2018 12:54 AM, Oliver Neukum wrote:
>>> Am Mittwoch, den 07.03.2018, 13:41 -0800 schrieb sathyanarayanan
>>> kuppuswamy :
>>>> On 03/07/2018 12:58 PM, Greg KH wrote:
>>>>> So I don't see why your check is needed, what other code path would ever
>>>>> call this function in a way that the bounds check would be needed?
>>>> void usb_serial_generic_read_bulk_callback(struct urb *urb)
>>>>
>>>> 385 for (i = 0; i < ARRAY_SIZE(port->read_urbs); ++i) {
>>>> 386 if (urb == port->read_urbs[i])
>>>> 387 break;
>>>> 388 }
>>>>
>>>> In here, after this for loop is done (without any matching urb), i value
>>>> will be equal to ARRAY_SIZE(port->read_urbs). So there is a possibility
>>>> of usb_serial_generic_submit_read_urb() getting called with this invalid
>>>> index.
>>> If this happens the function was called for a stray URB.
>>> Your check comes to late. We have called set_bit with an invalid index
>>> and other shit.
>>> We definitely do not just want to return an error in that case.
>> In that case do you think we should use some WARN_ON() for invalid index in
>> usb_serial_generic_read_bulk_callback()?
> No, again, how could that ever happen?
>
> Don't add pointless error checking for things that are impossible to
> ever hit :)
Thanks Greg.
>
> thanks,
>
> greg k-h
> --
> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
--
Sathyanarayanan Kuppuswamy
Linux kernel developer
next reply other threads:[~2018-03-09 0:34 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-09 0:34 sathyanarayanan.kuppuswamy [this message]
2018-03-09 0:34 ` [PATCH v1 1/1] USB: serial: Add boundry check for read_urbs array access sathyanarayanan kuppuswamy
-- strict thread matches above, loose matches on Subject: below --
2018-03-08 23:43 [v1,1/1] " Greg Kroah-Hartman
2018-03-08 23:43 ` [PATCH v1 1/1] " Greg KH
2018-03-08 23:29 [v1,1/1] " sathyanarayanan.kuppuswamy
2018-03-08 23:29 ` [PATCH v1 1/1] " sathyanarayanan kuppuswamy
2018-03-08 14:01 [v1,1/1] " Greg Kroah-Hartman
2018-03-08 14:01 ` [PATCH v1 1/1] " Greg KH
2018-03-08 8:54 [v1,1/1] " Oliver Neukum
2018-03-08 8:54 ` [PATCH v1 1/1] " Oliver Neukum
2018-03-07 21:41 [v1,1/1] " sathyanarayanan.kuppuswamy
2018-03-07 21:41 ` [PATCH v1 1/1] " sathyanarayanan kuppuswamy
2018-03-07 20:58 [v1,1/1] " Greg Kroah-Hartman
2018-03-07 20:58 ` [PATCH v1 1/1] " Greg KH
2018-03-07 20:23 [v1,1/1] " sathyanarayanan.kuppuswamy
2018-03-07 20:23 ` [PATCH v1 1/1] " sathyanarayanan.kuppuswamy
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=a3cc4530-984e-cb7c-b3cf-38ad8cd7bb81@linux.intel.com \
--to=sathyanarayanan.kuppuswamy@linux.intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=johan@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=oneukum@suse.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.