Re: module load/unload race protection?

Maneesh Soni (smaneesh@in.ibm.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.
>
> /Mikael

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).


Regards,
Maneesh

-- 
Maneesh Soni <smaneesh@in.ibm.com>
http://lse.sourceforge.net/locking/rclock.html
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 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/