These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / lib / bug.c
index 0c3bd95..cff145f 100644 (file)
@@ -66,7 +66,7 @@ static const struct bug_entry *module_find_bug(unsigned long bugaddr)
        struct module *mod;
        const struct bug_entry *bug = NULL;
 
-       rcu_read_lock();
+       rcu_read_lock_sched();
        list_for_each_entry_rcu(mod, &module_bug_list, bug_list) {
                unsigned i;
 
@@ -77,7 +77,7 @@ static const struct bug_entry *module_find_bug(unsigned long bugaddr)
        }
        bug = NULL;
 out:
-       rcu_read_unlock();
+       rcu_read_unlock_sched();
 
        return bug;
 }
@@ -88,6 +88,8 @@ void module_bug_finalize(const Elf_Ehdr *hdr, const Elf_Shdr *sechdrs,
        char *secstrings;
        unsigned int i;
 
+       lockdep_assert_held(&module_mutex);
+
        mod->bug_table = NULL;
        mod->num_bugs = 0;
 
@@ -113,6 +115,7 @@ void module_bug_finalize(const Elf_Ehdr *hdr, const Elf_Shdr *sechdrs,
 
 void module_bug_cleanup(struct module *mod)
 {
+       lockdep_assert_held(&module_mutex);
        list_del_rcu(&mod->bug_list);
 }