[PATCH] arm64: vmlinux.lds: account for spurious empty .igot.plt sections

Subsystems: arm64 port (aarch64 architecture), the rest

STALE2110d LANDED

Landed in mainline as 5f692a81b4e9 on 2020-10-28.

5 messages, 3 authors, 2020-10-28 · open the first message on its own page

[PATCH] arm64: vmlinux.lds: account for spurious empty .igot.plt sections

From: Ard Biesheuvel <ardb@kernel.org>
Date: 2020-10-28 13:35:01

Now that we started making the linker warn about orphan sections
(input sections that are not explicitly consumed by an output section),
some configurations produce the following warning:

  aarch64-linux-gnu-ld: warning: orphan section `.igot.plt' from
         `arch/arm64/kernel/head.o' being placed in section `.igot.plt'

It could be any file that triggers this - head.o is simply the first
input file in the link - and the resulting .igot.plt section never
actually appears in vmlinux as it turns out to be empty.

So let's add .igot.plt to our collection of input sections to disregard
unless they are empty.

Cc: Jessica Yu <jeyu@kernel.org>
Cc: Kees Cook <redacted>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/arm64/kernel/vmlinux.lds.S | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/kernel/vmlinux.lds.S b/arch/arm64/kernel/vmlinux.lds.S
index 6567d80dd15f..48b222f1c700 100644
--- a/arch/arm64/kernel/vmlinux.lds.S
+++ b/arch/arm64/kernel/vmlinux.lds.S
@@ -278,7 +278,7 @@ SECTIONS
 	 * explicitly check instead of blindly discarding.
 	 */
 	.plt : {
-		*(.plt) *(.plt.*) *(.iplt) *(.igot)
+		*(.plt) *(.plt.*) *(.iplt) *(.igot .igot.plt)
 	}
 	ASSERT(SIZEOF(.plt) == 0, "Unexpected run-time procedure linkages detected!")
 
-- 
2.17.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

Re: [PATCH] arm64: vmlinux.lds: account for spurious empty .igot.plt sections

From: Will Deacon <will@kernel.org>
Date: 2020-10-28 15:13:20

On Wed, 28 Oct 2020 14:33:32 +0100, Ard Biesheuvel wrote:
Now that we started making the linker warn about orphan sections
(input sections that are not explicitly consumed by an output section),
some configurations produce the following warning:

  aarch64-linux-gnu-ld: warning: orphan section `.igot.plt' from
         `arch/arm64/kernel/head.o' being placed in section `.igot.plt'

[...]
Applied to arm64 (for-next/fixes), thanks!

[1/1] arm64: vmlinux.lds: account for spurious empty .igot.plt sections
      https://git.kernel.org/arm64/c/5f692a81b4e9

Cheers,
-- 
Will

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

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

Re: [PATCH] arm64: vmlinux.lds: account for spurious empty .igot.plt sections

From: Kees Cook <hidden>
Date: 2020-10-28 15:58:54

On Wed, Oct 28, 2020 at 02:33:32PM +0100, Ard Biesheuvel wrote:
Now that we started making the linker warn about orphan sections
(input sections that are not explicitly consumed by an output section),
some configurations produce the following warning:

  aarch64-linux-gnu-ld: warning: orphan section `.igot.plt' from
         `arch/arm64/kernel/head.o' being placed in section `.igot.plt'

It could be any file that triggers this - head.o is simply the first
input file in the link - and the resulting .igot.plt section never
actually appears in vmlinux as it turns out to be empty.

So let's add .igot.plt to our collection of input sections to disregard
unless they are empty.
typo: "non-empty"?
Cc: Jessica Yu <jeyu@kernel.org>
Cc: Kees Cook <redacted>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Thanks! Any idea what causes this?

Reviewed-by: Kees Cook <redacted>

Though I think Will already snagged the patch :)

-- 
Kees Cook

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

Re: [PATCH] arm64: vmlinux.lds: account for spurious empty .igot.plt sections

From: Ard Biesheuvel <ardb@kernel.org>
Date: 2020-10-28 15:59:49

On Wed, 28 Oct 2020 at 16:56, Kees Cook [off-list ref] wrote:
On Wed, Oct 28, 2020 at 02:33:32PM +0100, Ard Biesheuvel wrote:
quoted
Now that we started making the linker warn about orphan sections
(input sections that are not explicitly consumed by an output section),
some configurations produce the following warning:

  aarch64-linux-gnu-ld: warning: orphan section `.igot.plt' from
         `arch/arm64/kernel/head.o' being placed in section `.igot.plt'

It could be any file that triggers this - head.o is simply the first
input file in the link - and the resulting .igot.plt section never
actually appears in vmlinux as it turns out to be empty.

So let's add .igot.plt to our collection of input sections to disregard
unless they are empty.
typo: "non-empty"?
Indeed.
quoted
Cc: Jessica Yu <jeyu@kernel.org>
Cc: Kees Cook <redacted>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Thanks! Any idea what causes this?
Not a clue.
Reviewed-by: Kees Cook <redacted>
Thanks,
Though I think Will already snagged the patch :)

--
Kees Cook
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

Re: [PATCH] arm64: vmlinux.lds: account for spurious empty .igot.plt sections

From: Will Deacon <will@kernel.org>
Date: 2020-10-28 17:48:11

On Wed, Oct 28, 2020 at 08:56:14AM -0700, Kees Cook wrote:
On Wed, Oct 28, 2020 at 02:33:32PM +0100, Ard Biesheuvel wrote:
quoted
Now that we started making the linker warn about orphan sections
(input sections that are not explicitly consumed by an output section),
some configurations produce the following warning:

  aarch64-linux-gnu-ld: warning: orphan section `.igot.plt' from
         `arch/arm64/kernel/head.o' being placed in section `.igot.plt'

It could be any file that triggers this - head.o is simply the first
input file in the link - and the resulting .igot.plt section never
actually appears in vmlinux as it turns out to be empty.

So let's add .igot.plt to our collection of input sections to disregard
unless they are empty.
typo: "non-empty"?
quoted
Cc: Jessica Yu <jeyu@kernel.org>
Cc: Kees Cook <redacted>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Thanks! Any idea what causes this?

Reviewed-by: Kees Cook <redacted>

Though I think Will already snagged the patch :)
Yeah, sorry -- I was keen to get rid of that annoying warning!

Will

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help