2023-07-26 18:28:56

by Jisheng Zhang

[permalink] [raw]
Subject: [PATCH] arm64: vdso: remove two .altinstructions related symbols

The two symbols __alt_instructions and __alt_instructions_end are not
used, remove them.

Signed-off-by: Jisheng Zhang <[email protected]>
---
arch/arm64/kernel/vdso/vdso.lds.S | 2 --
1 file changed, 2 deletions(-)

diff --git a/arch/arm64/kernel/vdso/vdso.lds.S b/arch/arm64/kernel/vdso/vdso.lds.S
index 6028f1fe2d1c..45354f2ddf70 100644
--- a/arch/arm64/kernel/vdso/vdso.lds.S
+++ b/arch/arm64/kernel/vdso/vdso.lds.S
@@ -50,9 +50,7 @@ SECTIONS

. = ALIGN(4);
.altinstructions : {
- __alt_instructions = .;
*(.altinstructions)
- __alt_instructions_end = .;
}

.dynamic : { *(.dynamic) } :text :dynamic
--
2.40.1



2023-07-27 10:57:47

by Will Deacon

[permalink] [raw]
Subject: Re: [PATCH] arm64: vdso: remove two .altinstructions related symbols

On Thu, Jul 27, 2023 at 01:36:19AM +0800, Jisheng Zhang wrote:
> The two symbols __alt_instructions and __alt_instructions_end are not
> used, remove them.
>
> Signed-off-by: Jisheng Zhang <[email protected]>
> ---
> arch/arm64/kernel/vdso/vdso.lds.S | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/arch/arm64/kernel/vdso/vdso.lds.S b/arch/arm64/kernel/vdso/vdso.lds.S
> index 6028f1fe2d1c..45354f2ddf70 100644
> --- a/arch/arm64/kernel/vdso/vdso.lds.S
> +++ b/arch/arm64/kernel/vdso/vdso.lds.S
> @@ -50,9 +50,7 @@ SECTIONS
>
> . = ALIGN(4);
> .altinstructions : {
> - __alt_instructions = .;
> *(.altinstructions)
> - __alt_instructions_end = .;
> }

If we don't need the symbols, then why do we need this section at all?

Will

2023-07-27 11:44:35

by Joey Gouly

[permalink] [raw]
Subject: Re: [PATCH] arm64: vdso: remove two .altinstructions related symbols

Hi,

On Thu, Jul 27, 2023 at 11:19:27AM +0100, Will Deacon wrote:
> On Thu, Jul 27, 2023 at 01:36:19AM +0800, Jisheng Zhang wrote:
> > The two symbols __alt_instructions and __alt_instructions_end are not
> > used, remove them.
> >
> > Signed-off-by: Jisheng Zhang <[email protected]>
> > ---
> > arch/arm64/kernel/vdso/vdso.lds.S | 2 --
> > 1 file changed, 2 deletions(-)
> >
> > diff --git a/arch/arm64/kernel/vdso/vdso.lds.S b/arch/arm64/kernel/vdso/vdso.lds.S
> > index 6028f1fe2d1c..45354f2ddf70 100644
> > --- a/arch/arm64/kernel/vdso/vdso.lds.S
> > +++ b/arch/arm64/kernel/vdso/vdso.lds.S
> > @@ -50,9 +50,7 @@ SECTIONS
> >
> > . = ALIGN(4);
> > .altinstructions : {
> > - __alt_instructions = .;
> > *(.altinstructions)
> > - __alt_instructions_end = .;
> > }
>
> If we don't need the symbols, then why do we need this section at all?

Looks like it was a copy/paste from my commit 4e3bca8f7cdd ("arm64: alternative: patch alternatives in the vDSO").
The VDSO patching code searches for a section named '.altinstructions' by
reading the VDSO as an ELF file, and doesn't use the __alt_instructions /
__alt_instructions_end symbols. The kernel patching code uses the
__alt_instructions symbol (from the vmlinux.ld.S linker script).

So it's safe to remove these, but the section itself needs to stay.

Thanks,
Joey

2023-07-27 12:54:07

by Will Deacon

[permalink] [raw]
Subject: Re: [PATCH] arm64: vdso: remove two .altinstructions related symbols

On Thu, 27 Jul 2023 01:36:19 +0800, Jisheng Zhang wrote:
> The two symbols __alt_instructions and __alt_instructions_end are not
> used, remove them.
>
>

Applied to arm64 (for-next/misc), thanks!

[1/1] arm64: vdso: remove two .altinstructions related symbols
https://git.kernel.org/arm64/c/a96a7a7ddf95

Cheers,
--
Will

https://fixes.arm64.dev
https://next.arm64.dev
https://will.arm64.dev