2.6: races between modprobe and depmod in rc.sysinit

From: Andrey Borzenkov (arvidjaar@mail.ru)
Date: Thu Jul 31 2003 - 12:45:01 EST


This started when I noticed that coldplugging of my USB flash did not work. I
added call to /etc/hotplug/usb.rc in rc.sysinit but it still did not work
because scsi.agent was not ready for 2.6. I fixed scsi.agent to work for 2.6
- and it still did not work with nice message "sd_mod not found". I added
strace to scsi.agent - and wow! it opens /lib/modules/`uname -r`/modules.dep
and reads 0 bytes ... it adds /lib/modules/`uname -r`/modules.alias -and read
0 bytes ...

the only reason I can imagine is that it hits depmod -A that runs in
rc.sysinit and does

truncate /lib/modules/`uname -r`/modules.*
scan modules
write files

So, quesitons

- would anybody (Rusty?) object if I change depmod to do
  build temp name
  move temp name into original

to avoid such races?

- Chmouel, Fred - is depmod on every boot really neccessary? When people
install modules they are expected to run it actually ...

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



This archive was generated by hypermail 2b29 : Thu Jul 31 2003 - 22:00:50 EST