[2/2] elf: Remove inhibit_stack_protector from __ifunc_resolver

Message ID 20260526140248.603938-3-adhemerval.zanella@linaro.org (mailing list archive)
State Committed
Commit 2b6f6710a1ee02b3ac87f3342306d82b3e7d087e
Headers
Series Fix IFUNC resolvers in dlopen'd modules and improve instrumentation |

Checks

Context Check Description
redhat-pt-bot/TryBot-apply_patch success Patch applied to master at the time it was sent
redhat-pt-bot/TryBot-32bit fail Patch series failed to apply
linaro-tcwg-bot/tcwg_glibc_build--master-arm success Build passed
linaro-tcwg-bot/tcwg_glibc_build--master-aarch64 success Build passed
linaro-tcwg-bot/tcwg_glibc_check--master-aarch64 fail Test failed
linaro-tcwg-bot/tcwg_glibc_check--master-arm fail Test failed

Commit Message

Adhemerval Zanella Netto May 26, 2026, 2 p.m. UTC
  With 01964c3ec8e fix ifunc resolvers can be fully instrumented with
stack protector.

Checked on aarch64-linux-gnu, x86_64-linux-gnu, and i686-linux-gnu
built with --enable-stack-protector=all.
---
 include/libc-symbols.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

H.J. Lu May 26, 2026, 9:43 p.m. UTC | #1
On Tue, May 26, 2026 at 10:03 PM Adhemerval Zanella
<adhemerval.zanella@linaro.org> wrote:
>
> With 01964c3ec8e fix ifunc resolvers can be fully instrumented with
> stack protector.
>
> Checked on aarch64-linux-gnu, x86_64-linux-gnu, and i686-linux-gnu
> built with --enable-stack-protector=all.
> ---
>  include/libc-symbols.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/libc-symbols.h b/include/libc-symbols.h
> index 6a9f6403ab9..2387954f7fc 100644
> --- a/include/libc-symbols.h
> +++ b/include/libc-symbols.h
> @@ -671,7 +671,7 @@ for linking")
>
>  /* Helper / base  macros for indirect function symbols.  */
>  #define __ifunc_resolver(type_name, name, expr, init, classifier, ...) \
> -  classifier inhibit_stack_protector                                   \
> +  classifier                                                           \
>    __typeof (type_name) *name##_ifunc (__VA_ARGS__)                     \
>    {                                                                    \
>      init ();                                                           \
> --
> 2.43.0
>

LGTM.

Reviewed-by: H.J. Lu <hjl.tools@gmail.com>

Thanks.
  

Patch

diff --git a/include/libc-symbols.h b/include/libc-symbols.h
index 6a9f6403ab9..2387954f7fc 100644
--- a/include/libc-symbols.h
+++ b/include/libc-symbols.h
@@ -671,7 +671,7 @@  for linking")
 
 /* Helper / base  macros for indirect function symbols.  */
 #define __ifunc_resolver(type_name, name, expr, init, classifier, ...)	\
-  classifier inhibit_stack_protector					\
+  classifier								\
   __typeof (type_name) *name##_ifunc (__VA_ARGS__)			\
   {									\
     init ();								\