On Fri, Jul 31, 2015 at 07:08:05PM +0200, Sebastian Andrzej Siewior wrote: > The `modules' list uses list_for_each_entry_rcu() itarator. > rcu_readlock() protects here against against module removal invoked from > another CPU while preempt_disable() does not.
Not so, it does in fact. > I don't understand what syncs in CONFIG_MODULES_TREE_LOOKUP against > module removal. In the other (RCU) case there is synchronize_sched(). Its using rcu-sched aka preempt_disable. if you want to use rcu primitives, use rcu_read_lock_sched(), but that is in fact identical to preempt_disable(). Your patch breaks things. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/