[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202104271557.412DD365A@keescook>
Date: Tue, 27 Apr 2021 15:58:23 -0700
From: Kees Cook <keescook@...omium.org>
To: Bill Wendling <morbo@...gle.com>
Cc: Ard Biesheuvel <ardb@...nel.org>,
Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will@...nel.org>, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH] arm64/vdso: Discard .note.gnu.property sections in vDSO
On Fri, Apr 23, 2021 at 01:51:59PM -0700, Bill Wendling wrote:
> The arm64 assembler in binutils 2.32 and above generates a program
> property note in a note section, .note.gnu.property, to encode used x86
> ISAs and features. But the kernel linker script only contains a single
> NOTE segment:
>
> PHDRS
> {
> text PT_LOAD FLAGS(5) FILEHDR PHDRS; /* PF_R|PF_X */
> dynamic PT_DYNAMIC FLAGS(4); /* PF_R */
> note PT_NOTE FLAGS(4); /* PF_R */
> }
>
> The NOTE segment generated by the vDSO linker script is aligned to 4 bytes.
> But the .note.gnu.property section must be aligned to 8 bytes on arm64.
>
> $ readelf -n vdso64.so
>
> Displaying notes found in: .note
> Owner Data size Description
> Linux 0x00000004 Unknown note type: (0x00000000)
> description data: 06 00 00 00
> readelf: Warning: note with invalid namesz and/or descsz found at offset 0x20
> readelf: Warning: type: 0x78, namesize: 0x00000100, descsize: 0x756e694c, alignment: 8
>
> Since the note.gnu.property section in the vDSO is not checked by the
> dynamic linker, discard the .note.gnu.property sections in the vDSO.
>
> Similar to commit 4caffe6a28d31 ("x86/vdso: Discard .note.gnu.property
> sections in vDSO"), but for arm64.
>
> Signed-off-by: Bill Wendling <morbo@...gle.com>
Seems good to me. If we ever need the BTI markings, etc, for the vDSO,
we can revisit it then.
Reviewed-by: Kees Cook <keescook@...omium.org>
-Kees
--
Kees Cook
Powered by blists - more mailing lists