Re: [linux-usb-devel] Possible race condition in usb-serial.c

Alan Stern
2006-12-20T15:17:09Z

On Wed, 20 Dec 2006, Oliver Neukum wrote:

> The data structure to protect is serial_table. Everything else is
> protected by refcounts. Therefore the interesting race is between
> open and disconnect. Open is called with BKL (fs/char_dev.c::chrdev_open)
>
> Now, regarding disconnect. It used to be called with BKL held. I haven't been
> able to verify that this is still the case. If not, then there's a race.
>
> In addition usb_serial_probe() uses get_free_serial() early in the process
> before the device is ready. Without BKL, this too, races with open.
>
> People, do we take BKL in khubd?

Nope.

Alan Stern