|
@@ -1225,6 +1225,12 @@ static const struct kernel_symbol *resolve_symbol(struct module *mod,
|
|
|
const unsigned long *crc;
|
|
|
int err;
|
|
|
|
|
|
+ /*
|
|
|
+ * The module_mutex should not be a heavily contended lock;
|
|
|
+ * if we get the occasional sleep here, we'll go an extra iteration
|
|
|
+ * in the wait_event_interruptible(), which is harmless.
|
|
|
+ */
|
|
|
+ sched_annotate_sleep();
|
|
|
mutex_lock(&module_mutex);
|
|
|
sym = find_symbol(name, &owner, &crc,
|
|
|
!(mod->taints & (1 << TAINT_PROPRIETARY_MODULE)), true);
|