[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200808271905.51825.oliver@neukum.org>
Date: Wed, 27 Aug 2008 19:05:51 +0200
From: Oliver Neukum <oliver@...kum.org>
To: Alan Stern <stern@...land.harvard.edu>
Cc: Greg KH <greg@...ah.com>, linux-usb@...r.kernel.org,
Stefan Kopp <stefan_kopp@...lent.com>,
Marcel Janssen <korgull@...e.nl>,
Felipe Balbi <me@...ipebalbi.com>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] USB: add USB test and measurement class driver
Am Mittwoch 27 August 2008 18:06:23 schrieb Alan Stern:
> On Wed, 27 Aug 2008, Oliver Neukum wrote:
>
> > This is a race condition.
> >
> > CPU A CPU B
> > open()
> > usb_find_interface()
> > disconnect()
> > kref_put()
> > usbtmc_delete()
> > kfree()
> > kref_get()
> >
> > You can write to free memory. You must use a static mutex for
> > mutual exclusion between open() and disconnect()
>
> Is that necessary? usbcore includes its own mutual exclusion now.
> Look in file.c at how minor_rwsem is used.
This is interesting, the driver simply doesn't unregister the device.
So it would be needed if the code could be left as it is. As not unregistering
the device is wrong, this will fix the bug.
Thanks
Oliver
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists