I'm satisfied that, for filesystems at least, all the module races can be
solved without adding start/stop, and I will present code in due course.
However, Rusty tells me there are harder cases than filesystems. At this
point I'm waiting for a specific example.
For filesystems, we rely on the filesystem code itself to know when all users
have gone away. If somebody is still executing in a filesystem module after
all umounts are done, it's a horrible nasty bug. We might still want to play
games with checking execution addresses of processes to see if anybody is
still in a module, but that would just be for debug; sys_delete_module can
rely on the filesystem's opinion about whether a module is quiescent or not.
Somebody please give me an example of why this same strategy will not
work for all types of modular code.
-- Daniel - 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/