Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livep...
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 15 Jan 2016 00:38:02 +0000 (16:38 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 15 Jan 2016 00:38:02 +0000 (16:38 -0800)
Pull livepatching updates from Jiri Kosina:

 - RO/NX attribute fixes for patch module relocations from Josh
   Poimboeuf.  As part of this effort, module.c has been cleaned up as
   well and livepatching is piggy-backing on this cleanup.  Rusty is OK
   with this whole lot going through livepatching tree.

 - symbol disambiguation support from Chris J Arges.  That series is
   also

Reviewed-by: Miroslav Benes <mbenes@suse.cz>
   but this came in only after I've alredy pushed out.  Didn't want to
   rebase because of that, hence I am mentioning it here.

 - symbol lookup fix from Miroslav Benes

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching:
  livepatch: Cleanup module page permission changes
  module: keep percpu symbols in module's symtab
  module: clean up RO/NX handling.
  module: use a structure to encapsulate layout.
  gcov: use within_module() helper.
  module: Use the same logic for setting and unsetting RO/NX
  livepatch: function,sympos scheme in livepatch sysfs directory
  livepatch: add sympos as disambiguator field to klp_reloc
  livepatch: add old_sympos as disambiguator field to klp_func

1  2 
arch/arc/kernel/unwind.c
kernel/module.c

Simple merge
diff --cc kernel/module.c
index 38c7bd5583fff036c0f993ac2c15077882d61501,912e891e0e2f1d87889a95af011bde9aff623e08..8358f4697c0c3aea77aba802833660d4082b7c13
@@@ -3571,14 -3552,8 +3552,14 @@@ static int load_module(struct load_inf
        synchronize_sched();
        mutex_unlock(&module_mutex);
   free_module:
 +      /*
 +       * Ftrace needs to clean up what it initialized.
 +       * This does nothing if ftrace_module_init() wasn't called,
 +       * but it must be called outside of module_mutex.
 +       */
 +      ftrace_release_mod(mod);
        /* Free lock-classes; relies on the preceding sync_rcu() */
-       lockdep_free_key_range(mod->module_core, mod->core_size);
+       lockdep_free_key_range(mod->core_layout.base, mod->core_layout.size);
  
        module_deallocate(mod, info);
   free_copy: