diff options
author | Alexey Dobriyan <[email protected]> | 2022-05-12 20:38:36 -0700 |
---|---|---|
committer | Andrew Morton <[email protected]> | 2022-05-12 20:38:36 -0700 |
commit | c9b516f16be5896a3d798f8efb03acbd2ceec715 (patch) | |
tree | 49a318fdfc8471ab9957fc2b0be8122ac16eba57 | |
parent | d60c4d01a98bc1942dba6e3adc02031f5519f94b (diff) |
ELF, uapi: fixup ELF_ST_TYPE definition
This is very theoretical compile failure:
ELF_ST_TYPE(st_info = A)
Cast will bind first and st_info will stop being lvalue:
error: lvalue required as left operand of assignment
Given that the only use of this macro is
ELF_ST_TYPE(sym->st_info)
where st_info is "unsigned char" I've decided to remove cast especially
given that companion macro ELF_ST_BIND doesn't use cast.
Link: https://lkml.kernel.org/r/[email protected]
Signed-off-by: Alexey Dobriyan <[email protected]>
Acked-by: Kees Cook <[email protected]>
Cc: "Eric W. Biederman" <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
-rw-r--r-- | include/uapi/linux/elf.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/uapi/linux/elf.h b/include/uapi/linux/elf.h index 787c657bfae8..237f21a5e0f6 100644 --- a/include/uapi/linux/elf.h +++ b/include/uapi/linux/elf.h @@ -134,7 +134,7 @@ typedef __s64 Elf64_Sxword; #define STT_TLS 6 #define ELF_ST_BIND(x) ((x) >> 4) -#define ELF_ST_TYPE(x) (((unsigned int) x) & 0xf) +#define ELF_ST_TYPE(x) ((x) & 0xf) #define ELF32_ST_BIND(x) ELF_ST_BIND(x) #define ELF32_ST_TYPE(x) ELF_ST_TYPE(x) #define ELF64_ST_BIND(x) ELF_ST_BIND(x) |