On Mon, 2023-11-06 at 17:25 +0100, Lukas Hruska wrote: > From: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> > > Define klp prefixes in include/uapi/linux/livepatch.h, and use them > for > replacing hard-coded values in kernel/livepatch/core.c. > > Signed-off-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> > Signed-off-by: Lukas Hruska <lhruska@xxxxxxx> Reviewed-by: Marcos Paulo de Souza <mpdesouza@xxxxxxxx> > --- > MAINTAINERS | 1 + > include/uapi/linux/livepatch.h | 15 +++++++++++++++ > kernel/livepatch/core.c | 5 +++-- > 3 files changed, 19 insertions(+), 2 deletions(-) > create mode 100644 include/uapi/linux/livepatch.h > > diff --git a/MAINTAINERS b/MAINTAINERS > index 4cc6bf79fdd8..11a2d84c1277 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -12130,6 +12130,7 @@ F: Documentation/ABI/testing/sysfs- > kernel-livepatch > F: Documentation/livepatch/ > F: arch/powerpc/include/asm/livepatch.h > F: include/linux/livepatch.h > +F: include/uapi/linux/livepatch.h > F: kernel/livepatch/ > F: kernel/module/livepatch.c > F: lib/livepatch/ > diff --git a/include/uapi/linux/livepatch.h > b/include/uapi/linux/livepatch.h > new file mode 100644 > index 000000000000..e19430918a07 > --- /dev/null > +++ b/include/uapi/linux/livepatch.h > @@ -0,0 +1,15 @@ > +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ > + > +/* > + * livepatch.h - Kernel Live Patching Core > + * > + * Copyright (C) 2016 Josh Poimboeuf <jpoimboe@xxxxxxxxxx> > + */ > + > +#ifndef _UAPI_LIVEPATCH_H > +#define _UAPI_LIVEPATCH_H > + > +#define KLP_RELA_PREFIX ".klp.rela." > +#define KLP_SYM_PREFIX ".klp.sym." > + > +#endif /* _UAPI_LIVEPATCH_H */ > diff --git a/kernel/livepatch/core.c b/kernel/livepatch/core.c > index 61328328c474..622f1916a5c8 100644 > --- a/kernel/livepatch/core.c > +++ b/kernel/livepatch/core.c > @@ -20,6 +20,7 @@ > #include <linux/completion.h> > #include <linux/memory.h> > #include <linux/rcupdate.h> > +#include <uapi/linux/livepatch.h> > #include <asm/cacheflush.h> > #include "core.h" > #include "patch.h" > @@ -226,7 +227,7 @@ static int klp_resolve_symbols(Elf_Shdr *sechdrs, > const char *strtab, > > /* Format: .klp.sym.sym_objname.sym_name,sympos */ > cnt = sscanf(strtab + sym->st_name, > - ".klp.sym.%55[^.].%511[^,],%lu", > + KLP_SYM_PREFIX "%55[^.].%511[^,],%lu", > sym_objname, sym_name, &sympos); > if (cnt != 3) { > pr_err("symbol %s has an incorrectly > formatted name\n", > @@ -305,7 +306,7 @@ static int klp_write_section_relocs(struct module > *pmod, Elf_Shdr *sechdrs, > * See comment in klp_resolve_symbols() for an explanation > * of the selected field width value. > */ > - cnt = sscanf(shstrtab + sec->sh_name, ".klp.rela.%55[^.]", > + cnt = sscanf(shstrtab + sec->sh_name, KLP_RELA_PREFIX > "%55[^.]", > sec_objname); > if (cnt != 1) { > pr_err("section %s has an incorrectly formatted > name\n",