kbuild: dummy-tools: adjust to stricter stackprotector check
diff mbox series

Message ID 13e53f8f5dab1e3e070b4cb34bbe8b89f85f5326.1621076083.git.mkubecek@suse.cz
State Accepted
Commit c93db682cfb213501881072a9200a48ce1dc3c3f
Headers show
Series
  • kbuild: dummy-tools: adjust to stricter stackprotector check
Related show

Commit Message

Michal Kubecek May 15, 2021, 10:11 a.m. UTC
Commit 3fb0fdb3bbe7 ("x86/stackprotector/32: Make the canary into a regular
percpu variable") modified the stackprotector check on 32-bit x86 to check
if gcc supports using %fs as canary. Adjust dummy-tools gcc script to pass
this new test by returning "%fs" rather than "%gs" if it detects
-mstack-protector-guard-reg=fs on command line.

Fixes: 3fb0fdb3bbe7 ("x86/stackprotector/32: Make the canary into a regular percpu variable")
Signed-off-by: Michal Kubecek <mkubecek@suse.cz>
---
 scripts/dummy-tools/gcc | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Comments

Masahiro Yamada May 17, 2021, 2:48 a.m. UTC | #1
On Sat, May 15, 2021 at 7:58 PM Michal Kubecek <mkubecek@suse.cz> wrote:
>
> Commit 3fb0fdb3bbe7 ("x86/stackprotector/32: Make the canary into a regular
> percpu variable") modified the stackprotector check on 32-bit x86 to check
> if gcc supports using %fs as canary. Adjust dummy-tools gcc script to pass
> this new test by returning "%fs" rather than "%gs" if it detects
> -mstack-protector-guard-reg=fs on command line.
>
> Fixes: 3fb0fdb3bbe7 ("x86/stackprotector/32: Make the canary into a regular percpu variable")
> Signed-off-by: Michal Kubecek <mkubecek@suse.cz>


Applied to linux-kbuild/fixes.
Thanks.

> ---
>  scripts/dummy-tools/gcc | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/scripts/dummy-tools/gcc b/scripts/dummy-tools/gcc
> index f6d543725f1e..b2483149bbe5 100755
> --- a/scripts/dummy-tools/gcc
> +++ b/scripts/dummy-tools/gcc
> @@ -76,7 +76,11 @@ fi
>  if arg_contain -S "$@"; then
>         # For scripts/gcc-x86-*-has-stack-protector.sh
>         if arg_contain -fstack-protector "$@"; then
> -               echo "%gs"
> +               if arg_contain -mstack-protector-guard-reg=fs "$@"; then
> +                       echo "%fs"
> +               else
> +                       echo "%gs"
> +               fi
>                 exit 0
>         fi
>
> --
> 2.31.1
>

Patch
diff mbox series

diff --git a/scripts/dummy-tools/gcc b/scripts/dummy-tools/gcc
index f6d543725f1e..b2483149bbe5 100755
--- a/scripts/dummy-tools/gcc
+++ b/scripts/dummy-tools/gcc
@@ -76,7 +76,11 @@  fi
 if arg_contain -S "$@"; then
 	# For scripts/gcc-x86-*-has-stack-protector.sh
 	if arg_contain -fstack-protector "$@"; then
-		echo "%gs"
+		if arg_contain -mstack-protector-guard-reg=fs "$@"; then
+			echo "%fs"
+		else
+			echo "%gs"
+		fi
 		exit 0
 	fi