Messages in this thread |  | | | Date | Wed, 20 Dec 2006 11:32:31 -0800 (PST) | | From | J <> | | Subject | Re: Possible race condition in usb-serial.c |
| |
Thank you for the explanation.
> serial_close is safe because serial_disconnect > lowers the refcount
Sorry, I meant serial_open, as in my original example.
I am currently trying to fix a legacy 2.4 based USB driver and I am having various races, serial_open/usb_serial_disconnect is the most lively. I am not asking your help in fixing this old 2.4 junk (in fact I already fixed it using a global semaphore to protect serial_table).
But I still want to understand how the latest and greatest 2.6 driver is supposed to work so I can adopt some of the changes. At first I thought that the ref-counting will help, but then found that it does not fix much! The race is as lively as ever.
Also I found that BKL/lock_kernel is compiled out in my configuration because it is not an SMP build.
I see that in 2.6 BKL/lock_kernel are also optional for non-SMP builds. Is it true? If yes, then again, how this is supposed to work and avoid races?
Thank you John
__________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com - 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/
|  |