diff options
| author | Arnd Bergmann <arnd@arndb.de> | 2011-07-21 16:32:06 +0200 |
|---|---|---|
| committer | Arnd Bergmann <arnd@arndb.de> | 2011-07-21 16:32:06 +0200 |
| commit | 5ddac6bc1c4bfcbf645d18668a5033ca257a8ea7 (patch) | |
| tree | a8a74ef15a3622ecc3ab94a424321de8b111648b /kernel/jump_label.c | |
| parent | c33d4326b60a3aea5cd070a365043f488f81a3b0 (diff) | |
| parent | 89e1c3d0fffa0d610fa7292bbfafb5e87dc6be34 (diff) | |
Merge branch 'next-samsung-board' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/board
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 fa27e750dbc0..a8ce45097f3d 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 |
