diff options
author | Grant Likely <grant.likely@secretlab.ca> | 2011-07-15 20:11:34 -0600 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2011-07-15 20:11:34 -0600 |
commit | 8c11642a50555e584774737f7c296f9aece310cf (patch) | |
tree | 1ff8dfaf05479593ef2c50378a68dfc6aec495a5 /kernel/jump_label.c | |
parent | 5d10302f46df1d9a85c34ea97f9b6c29e414482e (diff) | |
parent | 620917de59eeb934b9f8cf35cc2d95c1ac8ed0fc (diff) |
Merge commit 'v3.0-rc7' into devicetree/next
Diffstat (limited to 'kernel/jump_label.c')
-rw-r--r-- | kernel/jump_label.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/kernel/jump_label.c b/kernel/jump_label.c index fa27e750dbc..a8ce45097f3 100644 --- a/kernel/jump_label.c +++ b/kernel/jump_label.c @@ -375,15 +375,19 @@ int jump_label_text_reserved(void *start, void *end) static void jump_label_update(struct jump_label_key *key, int enable) { - struct jump_entry *entry = key->entries; - - /* if there are no users, entry can be NULL */ - if (entry) - __jump_label_update(key, entry, __stop___jump_table, enable); + struct jump_entry *entry = key->entries, *stop = __stop___jump_table; #ifdef CONFIG_MODULES + struct module *mod = __module_address((jump_label_t)key); + __jump_label_mod_update(key, enable); + + if (mod) + stop = mod->jump_entries + mod->num_jump_entries; #endif + /* if there are no users, entry can be NULL */ + if (entry) + __jump_label_update(key, entry, stop, enable); } #endif |