kpatch/kmod/core
Evgenii Shatokhin 8dac9d0871 kmod/core: Skip relocations of already altered instructions
When a patch module is loaded, the kernel facilities like alternatives
and paravirt may alter some of its instructions. This happens before
Kpatch core module is notified and tries to apply dynrelas to it. If an
instruction to apply a dynrela to has already been changed by these
facilities, an incorrect instruction might be written as a result.

The core module now detects such conditions and does not apply dynrela
to the changed instructions.

Suggested by Josh Poimboeuf in the discussion of
https://github.com/dynup/kpatch/issues/580.

Changes in v.2:
* Used pr_notice to give more emphasis to the messages.
* Added an explanation message.

Signed-off-by: Evgenii Shatokhin <eshatokhin@virtuozzo.com>
2016-04-11 15:11:35 +03:00
..
core.c kmod/core: Skip relocations of already altered instructions 2016-04-11 15:11:35 +03:00
kpatch.h allow patched modules to call external functions 2014-10-06 23:16:13 -05:00
Makefile Makefile: determine kernel release in Makefile 2016-02-10 09:46:38 -06:00
shadow.c kpatch-build: fix shadow_get function 2015-10-12 17:15:00 +08:00