Re: [RFC] register_blkdev and unregister_blkdev

Alexander Viro (viro@math.psu.edu)
Wed, 10 Oct 2001 06:53:50 -0400 (EDT)


On Wed, 10 Oct 2001, BALBIR SINGH wrote:

> Alexander Viro wrote:
>
> >>I was looking at the code for register_blkdev and unregister_blkdev. I
> >>found that no
> >>locking (spinlocks) are used to protect the blkdevs struture in these
> >>functions. I suspect
> >>we have not seen a problem till now since
> >>
> >
> >... they are only called under BKL; ditto for lookups in the tables they
> >(de-)populate.
> >
> What I wanted to know was, who is calling/holding the BKL? Is it because
> lock_kernel is called in sys_create_module() and sys_init_module().

All module init code is under BKL and will stay that way for a long time.
If that ever becomes not true, we are in for much more pain that
register_blkdev() races - you would need to do audit of all drivers to
pull something like that.

-
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/