> Ok. I was just maintaining that code, I didn't write it, and it was
> accepted into 2.2 with no mention of these problems. And btw it at
> least seemed to be working...
Ask Alan - he had accepted that code in 2.2...
Seriously, it's badly broken. I'm quite interested in getting the
filesystem side fixed (and ready to help with that), but amount of
other bugs is _very_ large. Several I can remember right now:
* kmalloc(..., GFP_KERNEL) may block and lead to IO. What do you
expect to happen if it gets called when interrupts are disabled?
* ->hw_init() can block before it bumps module reference count
(e.g. mixcom calls kmalloc()). rmmod while we are sleeping and you've
got a nice oops.
* return value of ->stop() is ignored. Returning -EBUSY
will not prevent shutting the interface down.
* remove_proc_entry() won't terminate ->read() in progress (obviously)
and it doesn't wait for completion of said ->read() (nothing to wait on).
open a file and do rmdir(). See what happens if somebody's reading from
the file right now...
-
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/