Re: [PATCH] lkdtm: Fix content of section containing lkdtm_rodata_do_nothing()

From: Kees Cook
Date: Fri Oct 08 2021 - 17:16:23 EST


On Fri, Oct 08, 2021 at 11:09:47AM -0700, Nick Desaulniers wrote:
> On Fri, Oct 8, 2021 at 9:59 AM Christophe Leroy
> <christophe.leroy@xxxxxxxxxx> wrote:
> >
> > On a kernel without CONFIG_STRICT_KERNEL_RWX, running EXEC_RODATA
> > test leads to "Illegal instruction" failure.
> >
> > Looking at the content of rodata_objcopy.o, we see that the
> > function content zeroes only:
> >
> > Disassembly of section .rodata:
> >
> > 0000000000000000 <.lkdtm_rodata_do_nothing>:
> > 0: 00 00 00 00 .long 0x0
> >
> > Add the contents flag in order to keep the content of the section
> > while renaming it.
> >
> > Disassembly of section .rodata:
> >
> > 0000000000000000 <.lkdtm_rodata_do_nothing>:
> > 0: 4e 80 00 20 blr
> >
> > Fixes: e9e08a07385e ("lkdtm: support llvm-objcopy")
>
> Thanks for the patch; sorry I broke this.
> Reviewed-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>

Hah! Whoops; sorry I don't have an inverted version of this test! I
should have caught this when it broke. :|

-Kees

--
Kees Cook