]> git.baikalelectronics.ru Git - kernel.git/commit
livepatch: Change unsigned long old_addr -> void *old_func in struct klp_func
authorPetr Mladek <pmladek@suse.com>
Wed, 9 Jan 2019 12:43:19 +0000 (13:43 +0100)
committerJiri Kosina <jkosina@suse.cz>
Fri, 11 Jan 2019 19:51:23 +0000 (20:51 +0100)
commit65c64a946fe5dd49f1ff7733b6dcee164d7bf18c
tree3df053de0eb62fec2557e24bd807cae328d4f21a
parent31be6610d3b198570d0e623c353bc4c59b1f514d
livepatch: Change unsigned long old_addr -> void *old_func in struct klp_func

The address of the to be patched function and new function is stored
in struct klp_func as:

void *new_func;
unsigned long old_addr;

The different naming scheme and type are derived from the way
the addresses are set. @old_addr is assigned at runtime using
kallsyms-based search. @new_func is statically initialized,
for example:

  static struct klp_func funcs[] = {
{
.old_name = "cmdline_proc_show",
.new_func = livepatch_cmdline_proc_show,
}, { }
  };

This patch changes unsigned long old_addr -> void *old_func. It removes
some confusion when these address are later used in the code. It is
motivated by a followup patch that adds special NOP struct klp_func
where we want to assign func->new_func = func->old_addr respectively
func->new_func = func->old_func.

This patch does not modify the existing behavior.

Suggested-by: Josh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: Petr Mladek <pmladek@suse.com>
Acked-by: Miroslav Benes <mbenes@suse.cz>
Acked-by: Joe Lawrence <joe.lawrence@redhat.com>
Acked-by: Alice Ferrazzi <alice.ferrazzi@gmail.com>
Acked-by: Josh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
include/linux/livepatch.h
kernel/livepatch/core.c
kernel/livepatch/patch.c
kernel/livepatch/patch.h
kernel/livepatch/transition.c