modversions.h race condition

From: Adam J. Richter (adam@yggdrasil.com)
Date: Wed May 10 2000 - 05:28:41 EST


        There is a race condition in the generation of
include/linux/modversions.h which manifests itself about 50% of
time I rebuild the kernel on an 866MHz Pentium III. The symptom of
this problem is that a bunch of external symbols in sections of
the kernel near the end of the build process are unversioned in
the modules and versioned in the kernel, so many modules fail to load.

        The cause of the problem appears to be the one second granularity
in timestamps of the stat system call (and most filesystems, including
ext2), interacting with the make depenency that causes
include/linux/modversions.h to be regenerated if it is older than
include/linux/modules/your-module-name.ver. The problem is that
if multiple directories are processed in the last one second of
the "make depend", everything after the first directory in that
one second quantum is left off of modversions.h (because there is
difference in timestamp values to trigger regeneration of modversions.h).

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon May 15 2000 - 21:00:15 EST