Fix kpatch.ko build on Ubuntu Saucy.

The error likes:
make -C /lib/modules/3.11.0-12-generic/build M=/home/ryan/kpatch/kmod/core kpatch.ko
make[3]: Entering directory `/usr/src/linux-headers-3.11.0-12-generic'
  CC [M]  /home/ryan/kpatch/kmod/core/core.o
/home/ryan/kpatch/kmod/core/core.c:42:32: fatal error: linux/preempt_mask.h: No such file or directory
 #include <linux/preempt_mask.h>

I feel sorry to introduce this problem from my laster commit 6c2d6444.
Some old kernel doesn't have header file preempt_mask.h, and the safe
way is using hardirq.h to find in_nmi().

Signed-off-by: Jincheng Miao <jincheng.miao@gmail.com>
Merge pull request #176 from ryanmiao/for-pr-141

Fix kpatch.ko build on Ubuntu Saucy.
kpatch: try to modprobe core module

Try to modprobe the core module, for systems that have the core module
properly installed with depmod.
Merge pull request #179 from jpoimboe/modprobe-core-module

kpatch: try to modprobe core module
fixup review comments

Signed-off-by: Seth Jennings <sjenning@redhat.com>
cleanup logic in rela comparison

Per review comments.

Signed-off-by: Seth Jennings <sjenning@redhat.com>
Merge pull request #177 from spartacus06/linked-list

convert core data structures from arrays to linked-lists
refactor core <-> patch interface

Make kpatch_funs truly internal by:
Defining it in core.c
Adding a struct kpatch_internal, declared in kpatch.h and defined in
 core.c, that contains per patch module internal data.
Adding an "internal" field to struct kpatch_modules.
Allocating internal and funcs data in core.c, not in the patch module,
 since the patch module has no knowledge of kpatch_func anymore.
Adding a "patch" field to kpatch_func that points directly to the
 kpatch_patch provided by the module (rather than a field-by-field copy)

Signed-off-by: Seth Jennings <sjenning@redhat.com>
fix incompatible pointer type warning

Fixes the following warning:

kpatch-patch-hook.c:71:2: warning: initialization from incompatible pointer type [enabled by default]
  __ATTR(enabled, 0644, patch_enabled_show, patch_enabled_store);
  ^

Signed-off-by: Seth Jennings <sjenning@redhat.com>
Merge pull request #182 from spartacus06/fix-warning

fix incompatible pointer type warning
Merge pull request #181 from spartacus06/interface-refactor

refactor core <-> patch interface
add dynamic symbol linking support