lkml.org 
[lkml]   [2004]   [Apr]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    SubjectRe: [linux-usb-devel] Re: [PATCH 1/9] USB usbfs: take a reference to the usb device
    Date
    On Tuesday 27 April 2004 10:58, Oliver Neukum wrote:
    > Am Dienstag, 27. April 2004 00:14 schrieb Greg KH:
    > > On Mon, Apr 26, 2004 at 04:05:17PM +0200, Duncan Sands wrote:
    > > > diff -Nru a/drivers/usb/core/devio.c b/drivers/usb/core/devio.c
    > > > --- a/drivers/usb/core/devio.c Mon Apr 26 13:48:28 2004
    > > > +++ b/drivers/usb/core/devio.c Mon Apr 26 13:48:28 2004
    > > > @@ -350,8 +350,8 @@
    > > > * all pending I/O requests; 2.6 does that.
    > > > */
    > > >
    > > > - if (ifnum < 8*sizeof(ps->ifclaimed))
    > > > - clear_bit(ifnum, &ps->ifclaimed);
    > > > + BUG_ON(ifnum >= 8*sizeof(ps->ifclaimed));
    > >
    > > I've changed that to a WARN_ON(). Yeah, writing over memory is bad, but
    > > oopsing is worse. Let's be a bit nicer than that.
    >
    > You aren't nice that way. An oops has localised consequences. Scribbling
    > over memory can cause anything.

    Hi Greg, if won't accept a BUG_ON, how about the following?

    --- usb-2.6/drivers/usb/core/devio.c.orig 2004-04-30 11:36:17.000000000 +0200
    +++ usb-2.6/drivers/usb/core/devio.c 2004-04-30 12:01:37.000000000 +0200
    @@ -350,8 +350,11 @@
    * all pending I/O requests; 2.6 does that.
    */

    - WARN_ON(ifnum >= 8*sizeof(ps->ifclaimed));
    - clear_bit(ifnum, &ps->ifclaimed);
    + if (likely(ifnum < 8*sizeof(ps->ifclaimed)))
    + clear_bit(ifnum, &ps->ifclaimed);
    + else
    + warn("interface number %u out of range", ifnum);
    +
    usb_set_intfdata (intf, NULL);

    /* force async requests to complete */
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/
    \
     
     \ /
      Last update: 2005-03-22 14:02    [W:0.022 / U:362.980 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site