Re: [PATCH v2] recordmcount: support >64k sections

From: Kees Cook
Date: Tue Jun 16 2020 - 14:03:24 EST


On Fri, Apr 24, 2020 at 03:22:14PM -0700, Matt Helsley wrote:
> On Fri, Apr 24, 2020 at 12:30:46PM -0700, Sami Tolvanen wrote:
> > When compiling a kernel with Clang and LTO, we need to run
> > recordmcount on vmlinux.o with a large number of sections, which
> > currently fails as the program doesn't understand extended
> > section indexes. This change adds support for processing binaries
> > with >64k sections.
> >
> > Signed-off-by: Sami Tolvanen <samitolvanen@xxxxxxxxxx>
>
> Feel free to add
>
> Reviewed-by: Matt Helsley <mhelsley@xxxxxxxxxx>

Hi!

Can this patch please be applied and sent before -rc2? FGKASLR, LTO, and
link time improvements[1] all depend on this fix, and I'd really like
them all to be able to sanely rebase for the development window.

Thanks!

-Kees

[1] https://lore.kernel.org/lkml/CAK7LNARbZhoaA=Nnuw0=gBrkuKbr_4Ng_Ei57uafujZf7Xazgw@xxxxxxxxxxxxxx/

>
> > ---
> > Changes in v2:
> > - Switched to unsigned int for (old|new)_shnum in append_func.
> > - Added set_shnum and find_symtab helper functions and moved
> > the new logic there.
> >
> > ---
> > scripts/recordmcount.h | 98 +++++++++++++++++++++++++++++++++++++++---
> > 1 file changed, 92 insertions(+), 6 deletions(-)
>
> <snip>

--
Kees Cook