Re: module load/unload race protection?
Maneesh Soni (email@example.com)
Tue, 17 Apr 2001 09:07:40 +0530
On Sat, Apr 14, 2001 at 12:26:40PM +0200, Mikael Pettersson wrote:
> Does the kernel's module loader (kernel/module.c, not kmod)
> protect adequately against concurrent load/load or load/unload
> requests? The question applies to both 2.2 and 2.4 kernels.
> I'm trying to track down a problem where a user using a
> RedHat 2.2.17-14 SMP kernel managed to trigger a situation where
> a driver module had been unloaded while still being in use
> (as in "the kernel has pointers into it", not USE_COUNT != 0).
> I'm reviewing the driver's internal INC/DEC_USE_COUNT usage,
> but so far I've not found any obvious errors.
There are race conditions while module unloading, present in both 2.2 and 2.4
kernels. Efforts are being made in handling these races by using
read-copy-update mechanism (http://lse.sourceforge.net/locking/rclock.html)
and by using synchronize_kernel() (from Rusty Russell, Keith Owens).
Maneesh Soni <firstname.lastname@example.org>
IBM Linux Technology Center,
IBM Software Lab, Bangalore, India
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to email@example.com
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/