[PATCH] ELF, uapi: fixup ELF_ST_TYPE definition

Alexey Dobriyan posted 1 patch 4 years ago
include/uapi/linux/elf.h |    2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] ELF, uapi: fixup ELF_ST_TYPE definition
Posted by Alexey Dobriyan 4 years ago
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.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
---

 include/uapi/linux/elf.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- 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)
Re: [PATCH] ELF, uapi: fixup ELF_ST_TYPE definition
Posted by Kees Cook 4 years ago
On Fri, Apr 29, 2022 at 05:50:03PM +0300, Alexey Dobriyan wrote:
> 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.
> 
> Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
> ---
> 
>  include/uapi/linux/elf.h |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

It looks like akpm already pulled this, so:

Acked-by: Kees Cook <keescook@chromium.org>

Please keep Eric & I CCed on ELF changes; there's a MAINTAINERS entry
now...

-Kees

-- 
Kees Cook
Re: [PATCH] ELF, uapi: fixup ELF_ST_TYPE definition
Posted by Alexey Dobriyan 4 years ago
On Fri, Apr 29, 2022 at 10:25:23AM -0700, Kees Cook wrote:
> Please keep Eric & I CCed on ELF changes; there's a MAINTAINERS entry
> now...

Hah!

I honestly searched for 'ELF' before sending and didn't find anything.