Re: [RFC PATCH 1/5] elf: add livepatch-specific elf constants

From: Josh Poimboeuf
Date: Thu Nov 12 2015 - 10:45:15 EST


On Mon, Nov 09, 2015 at 11:45:51PM -0500, Jessica Yu wrote:
> Add livepatch elf reloc section flag, livepatch symbol bind
> and section index
>
> Signed-off-by: Jessica Yu <jeyu@xxxxxxxxxx>
> ---
> include/uapi/linux/elf.h | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/include/uapi/linux/elf.h b/include/uapi/linux/elf.h
> index 71e1d0e..967ce1b 100644
> --- a/include/uapi/linux/elf.h
> +++ b/include/uapi/linux/elf.h
> @@ -118,6 +118,7 @@ typedef __s64 Elf64_Sxword;
> #define STB_LOCAL 0
> #define STB_GLOBAL 1
> #define STB_WEAK 2
> +#define STB_LIVEPATCH_EXT 11
>
> #define STT_NOTYPE 0
> #define STT_OBJECT 1
> @@ -286,6 +287,7 @@ typedef struct elf64_phdr {
> #define SHF_ALLOC 0x2
> #define SHF_EXECINSTR 0x4
> #define SHF_MASKPROC 0xf0000000
> +#define SHF_RELA_LIVEPATCH 0x4000000

Writing the value with leading zeros (0x04000000) would it more
readable.

Also the OS-specific range mask (SHF_MASKOS) is 0x0ff00000. Any reason
you went with 0x04000000 as opposed to the first value in the range
(0x00100000)? I don't see anybody else using that value.

> /* special section indexes */
> #define SHN_UNDEF 0
> @@ -295,6 +297,7 @@ typedef struct elf64_phdr {
> #define SHN_ABS 0xfff1
> #define SHN_COMMON 0xfff2
> #define SHN_HIRESERVE 0xffff
> +#define SHN_LIVEPATCH 0xff21

Similar question here, why not use 0xff20 (SHN_LOOS)?

--
Josh
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/