[PATCH 4/6] arm64: compat: Remove 32-bit sigreturn code from the vDSO
Vincenzo Frascino
vincenzo.frascino at arm.com
Tue Jun 23 07:54:56 EDT 2020
On 6/23/20 9:54 AM, Will Deacon wrote:
> The sigreturn code in the compat vDSO is unused. Remove it.
>
> Signed-off-by: Will Deacon <will at kernel.org>
Reviewed-by: Vincenzo Frascino <vincenzo.frascino at arm.com>
> ---
> arch/arm64/kernel/vdso32/Makefile | 1 -
> arch/arm64/kernel/vdso32/sigreturn.S | 58 ----------------------------
> arch/arm64/kernel/vdso32/vdso.lds.S | 12 ------
> 3 files changed, 71 deletions(-)
> delete mode 100644 arch/arm64/kernel/vdso32/sigreturn.S
>
> diff --git a/arch/arm64/kernel/vdso32/Makefile b/arch/arm64/kernel/vdso32/Makefile
> index 7ea1e827e505..d88148bef6b0 100644
> --- a/arch/arm64/kernel/vdso32/Makefile
> +++ b/arch/arm64/kernel/vdso32/Makefile
> @@ -140,7 +140,6 @@ hostprogs := $(munge)
>
> c-obj-vdso := note.o
> c-obj-vdso-gettimeofday := vgettimeofday.o
> -asm-obj-vdso := sigreturn.o
>
> ifneq ($(c-gettimeofday-y),)
> VDSO_CFLAGS_gettimeofday_o += -include $(c-gettimeofday-y)
> diff --git a/arch/arm64/kernel/vdso32/sigreturn.S b/arch/arm64/kernel/vdso32/sigreturn.S
> deleted file mode 100644
> index b0091064c3d6..000000000000
> --- a/arch/arm64/kernel/vdso32/sigreturn.S
> +++ /dev/null
> @@ -1,58 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> -/*
> - * This file provides both A32 and T32 versions, in accordance with the
> - * arm sigreturn code.
> - *
> - * Please read the comments in arch/arm64/kernel/vdso/sigreturn.S to
> - * understand some of the craziness in here.
> - *
> - * Copyright (C) 2018 ARM Limited
> - */
> -
> -#include <linux/linkage.h>
> -#include <asm/asm-offsets.h>
> -#include <asm/unistd.h>
> -
> - .text
> -
> - .arm
> - .fnstart
> - .save {r0-r15}
> - .pad #COMPAT_SIGFRAME_REGS_OFFSET
> - nop
> -SYM_CODE_START(__kernel_sigreturn_arm)
> - mov r7, #__NR_compat_sigreturn
> - svc #0
> - .fnend
> -SYM_CODE_END(__kernel_sigreturn_arm)
> -
> - .fnstart
> - .save {r0-r15}
> - .pad #COMPAT_RT_SIGFRAME_REGS_OFFSET
> - nop
> -SYM_CODE_START(__kernel_rt_sigreturn_arm)
> - mov r7, #__NR_compat_rt_sigreturn
> - svc #0
> - .fnend
> -SYM_CODE_END(__kernel_rt_sigreturn_arm)
> -
> - .thumb
> - .fnstart
> - .save {r0-r15}
> - .pad #COMPAT_SIGFRAME_REGS_OFFSET
> - nop
> -SYM_CODE_START(__kernel_sigreturn_thumb)
> - mov r7, #__NR_compat_sigreturn
> - svc #0
> - .fnend
> -SYM_CODE_END(__kernel_sigreturn_thumb)
> -
> - .fnstart
> - .save {r0-r15}
> - .pad #COMPAT_RT_SIGFRAME_REGS_OFFSET
> - nop
> -SYM_CODE_START(__kernel_rt_sigreturn_thumb)
> - mov r7, #__NR_compat_rt_sigreturn
> - svc #0
> - .fnend
> -SYM_CODE_END(__kernel_rt_sigreturn_thumb)
> diff --git a/arch/arm64/kernel/vdso32/vdso.lds.S b/arch/arm64/kernel/vdso32/vdso.lds.S
> index a3944927eaeb..337d03522048 100644
> --- a/arch/arm64/kernel/vdso32/vdso.lds.S
> +++ b/arch/arm64/kernel/vdso32/vdso.lds.S
> @@ -64,19 +64,7 @@ VERSION
> __vdso_clock_gettime;
> __vdso_gettimeofday;
> __vdso_clock_getres;
> - __kernel_sigreturn_arm;
> - __kernel_sigreturn_thumb;
> - __kernel_rt_sigreturn_arm;
> - __kernel_rt_sigreturn_thumb;
> __vdso_clock_gettime64;
> local: *;
> };
> }
> -
> -/*
> - * Make the sigreturn code visible to the kernel.
> - */
> -VDSO_compat_sigreturn_arm = __kernel_sigreturn_arm;
> -VDSO_compat_sigreturn_thumb = __kernel_sigreturn_thumb;
> -VDSO_compat_rt_sigreturn_arm = __kernel_rt_sigreturn_arm;
> -VDSO_compat_rt_sigreturn_thumb = __kernel_rt_sigreturn_thumb;
>
--
Regards,
Vincenzo
More information about the linux-arm-kernel
mailing list