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(). I also looked at sd.c, it does not hold the BKL before calling register_blkdev() it calls devfs_register_blkdev() from sd_init(). Maybe I am still missing something. Balbir