Re: [PATCH v2 1/3] vmlinux.lds.h: Add .gnu.version* to DISCARDS

From: Kees Cook
Date: Mon Jun 22 2020 - 19:30:23 EST


On Mon, Jun 22, 2020 at 04:04:40PM -0700, FÄng-ruà SÃng wrote:
> On Mon, Jun 22, 2020 at 3:57 PM Kees Cook <keescook@xxxxxxxxxxxx> wrote:
> >
> > On Mon, Jun 22, 2020 at 03:52:37PM -0700, Fangrui Song wrote:
> > > > And it's not in the output:
> > > >
> > > > $ readelf -Vs arch/x86/boot/compressed/vmlinux | grep version
> > > > No version information found in this file.
> > > >
> > > > So... for the kernel we need to silence it right now.
> > >
> > > Re-link with -M (or -Map file) to check where .gnu.version{,_d,_r} input
> > > sections come from?
> >
> > It's not reporting it correctly:
> >
> > .gnu.version_d 0x00000000008966b0 0x0
> > .gnu.version_d
> > 0x00000000008966b0 0x0 arch/x86/boot/compressed/kernel_info.o
> >
> > .gnu.version 0x00000000008966b0 0x0
> > .gnu.version 0x00000000008966b0 0x0 arch/x86/boot/compressed/kernel_info.o
> >
> > .gnu.version_r 0x00000000008966b0 0x0
> > .gnu.version_r
> > 0x00000000008966b0 0x0 arch/x86/boot/compressed/kernel_info.o
> >
> > it just reports whatever file is listed on the link command line first.
> >
> > > If it is a bug, we should probably figure out which version of binutils
> > > has fixed the bug.
> >
> > I see this with binutils 2.34...
> >
> > --
> > Kees Cook
>
> :( It deserves a binutils bug
> (https://sourceware.org/bugzilla/enter_bug.cgi?product=binutils ) and
> a comment..

https://sourceware.org/bugzilla/show_bug.cgi?id=26153

> With the description adjusted to say that this works around a bug
>
> Reviewed-by: Fangrui Song <maskray@xxxxxxxxxx>

Adjusted, and thanks!

--
Kees Cook