> The module list is modified atomically, so either we search the new table
> or we don't, but we never see intermediate states. Not searching the new
> table shouldn't be a problem as we shouldn't run module code until
> sys_init_module time.
The problem isnt running module code. What happens in this case
mod->next = module_list;
module_list = mod; /* link it in */
Note no write barrier.
Delete is even worse
We unlink the module
We free the memory
At the same time another cpu may be walking the exception table that we free.
-
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 : Fri Feb 23 2001 - 21:00:19 EST