update supported kernel version

Some of the kernel APIs that are used by the core kernel module where
updated in 3.9 and are incompatible with previous kernel versions.

Update the README to reflect this.

Fixes #257

Signed-off-by: Seth Jennings <sjenning@redhat.com>
remove mentry mention in kernel version requirement

There are more reasons besides mentry support for 3.9 being the
minimum supported kernel version.  There are also API changes that
happened in 3.9 that make the core module incompatible with previous
versions.

Rather than spelling all that out, just simply state the minimum
version.

Signed-off-by: Seth Jennings <sjenning@redhat.com>
Merge pull request #311 from spartacus06/version-compat-update

update supported kernel version
add install documentation for RHEL

Fixes #253

Signed-off-by: Seth Jennings <sjenning@redhat.com>
Merge pull request #312 from spartacus06/add-rhel-install-doc

add install documentation for RHEL
kmod/core: module old_addr fix

When patching a module, I ran into a "can't set ftrace filter at
address" error.  The root cause was due to the fact that
mod->module_core + old_offset is apparently not a reliable way to
determine the function's address.

Instead, just get the address from kallsyms like we do for module
dynrelas.
Merge pull request #317 from jpoimboe/module-old-addr-fix

kmod/core: module old_addr fix
fix logging in kpatch_verify_patchability()

log_normal() already prints the objname; no need to do it again

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

fix logging in kpatch_verify_patchability()
readme.md: add support for Debian GNU/Linux Wheezy (7.x)
Merge pull request #320 from goldyfruit/master

readme.md: add support for Debian GNU/Linux Wheezy (7.x)
add support for manually ignore functions

This commit adds the KPATCH_IGNORE_FUNC() macro for ignoring functions
that may change as a side effect of a change in another function.  The
WARN class of macros, for example, embed the line number in an
instruction, which will cause the function to be detected as changed
when, in fact, there has been no functional change.

Signed-off-by: Seth Jennings <sjenning@redhat.com>
Merge pull request #323 from spartacus06/ignore-funcs-v2

add support for manually ignore functions
kpatch: add unload --all command

This may end up being useful in the distro patch module upgrade path.
If the core module also needs updating, we can first do "kpatch unload
--all" and "rmmod kpatch" before doing "kpatch load" of the new patch
module.
Merge pull request #326 from jpoimboe/unload-all

kpatch: add unload --all command
remove build pass from kpatch-build

Now that we use the vmlinux from the distro debug package we don't need
to do any build runs without -ffunction-sections -fdata-sections.

Old:
Build orig in objdir
Build patched in objdir
Build orig w/ flags in objdir2
Copy orig .o's into orig
Build patched w/ flags in objdir2
Copy patched .o's into patched

New:
Build orig w/ flags in objdir
Build patched w/ flags in objdir
Copy patched .o's into patched
Build orig w/ flags in objdir
Copy orig .o's into orig

This commit also does try to build each change object singularly since
there are cases in the kernel tree where the Makefile does not reside in
the same directory as the changed object.

Signed-off-by: Seth Jennings <sjenning@redhat.com>
fixup review comments

Signed-off-by: Seth Jennings <sjenning@redhat.com>
Merge pull request #327 from spartacus06/make-all

remove build pass from kpatch-build