Messages in this thread Patch in this message |  | | From | Joe Lawrence <> | Subject | [PATCH v3 4/9] livepatch: Add klp-convert annotation helpers | Date | Wed, 10 Apr 2019 11:50:53 -0400 |
| |
From: Josh Poimboeuf <jpoimboe@redhat.com>
Define macros KLP_MODULE_RELOC and KLP_SYMPOS in include/linux/livepatch.h to improve user-friendliness of the livepatch annotation process.
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com> Signed-off-by: Joao Moreira <jmoreira@suse.de> Signed-off-by: Joe Lawrence <joe.lawrence@redhat.com> --- include/linux/livepatch.h | 12 ++++++++++++ 1 file changed, 12 insertions(+)
diff --git a/include/linux/livepatch.h b/include/linux/livepatch.h index 16b48e8b29a2..947cfc2d1980 100644 --- a/include/linux/livepatch.h +++ b/include/linux/livepatch.h @@ -236,6 +236,18 @@ void *klp_shadow_get_or_alloc(void *obj, unsigned long id, void klp_shadow_free(void *obj, unsigned long id, klp_shadow_dtor_t dtor); void klp_shadow_free_all(unsigned long id, klp_shadow_dtor_t dtor); +/* Used to annotate symbol relocations in livepatches */ +#define KLP_MODULE_RELOC(obj) \ + struct klp_module_reloc \ + __attribute__((__section__(".klp.module_relocs." #obj))) \ + __attribute__((aligned (4))) + +#define KLP_SYMPOS(symbol, pos) \ + { \ + .sym = &symbol, \ + .sympos = pos, \ + }, + #else /* !CONFIG_LIVEPATCH */ static inline int klp_module_coming(struct module *mod) { return 0; } -- 2.20.1
|  |