convert from arrays to linked-lists

Signed-off-by: Seth Jennings <sjenning@redhat.com>
add null symbol to inventory files

Add the null symbol to in inventory files.  Before the linked-link
change, the null symbol wasn't included in the inventory.  However,
it is required to be a valid ELF file and should be inventoried and
check for in the test.

Signed-off-by: Seth Jennings <sjenning@redhat.com>
remove temporary debug message

Signed-off-by: Seth Jennings <sjenning@redhat.com>
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 module interface

Right now, the internal per patch attributes are in kpatch.h,
which make them part of the public interface.  Internals should
be kept internal.

This commit replaces the previously "private" fields of the
struct kpatch_module with a single void *internals.  This
allows the kpatch core to define it's own internal structure
to tag on to each kpatch_module and change the definition of
that internal structure without having to modify the header.

This also refactors to avoid the copy of the kpatch_patch
data and change kpatch_func to simiply point to the patch
data (new/old addr/size) that was provided by the patch
module.

Sysfs registration of patch modules happens in the core now.

The "enabled" field is replaced with a callback to a patch-provided
"disable" handler.  This allows the patch module to maintain
its own state consistency, rather than having the core module
randomly change its state at any point.