Re: [RFC PATCH 08/11] x86: Add support for finer grained KASLR

Kristen Carlson Accardi
2020-02-26T19:26:28Z

On Tue, 2020-02-25 at 12:49 -0500, Arvind Sankar wrote:
> On Wed, Feb 05, 2020 at 02:39:47PM -0800, Kristen Carlson Accardi
> wrote:
> > At boot time, find all the function sections that have separate
> > .text
> > sections, shuffle them, and then copy them to new locations. Adjust
> > any relocations accordingly.
> >
> > Signed-off-by: Kristen Carlson Accardi <kristen@linux.intel.com>
> > ---
> > arch/x86/boot/compressed/Makefile | 1 +
> > arch/x86/boot/compressed/fgkaslr.c | 751
> > +++++++++++++++++++++++
> > arch/x86/boot/compressed/misc.c | 106 +++-
> > arch/x86/boot/compressed/misc.h | 26 +
> > arch/x86/boot/compressed/vmlinux.symbols | 15 +
> > arch/x86/include/asm/boot.h | 15 +-
> > arch/x86/include/asm/kaslr.h | 1 +
> > arch/x86/lib/kaslr.c | 15 +
> > scripts/kallsyms.c | 14 +-
> > scripts/link-vmlinux.sh | 4 +
> > 10 files changed, 939 insertions(+), 9 deletions(-)
> > create mode 100644 arch/x86/boot/compressed/fgkaslr.c
> > create mode 100644 arch/x86/boot/compressed/vmlinux.symbols
> >
> > diff --git a/arch/x86/boot/compressed/Makefile
> > b/arch/x86/boot/compressed/Makefile
> > index b7e5ea757ef4..60d4c4e59c05 100644
> > --- a/arch/x86/boot/compressed/Makefile
> > +++ b/arch/x86/boot/compressed/Makefile
> > @@ -122,6 +122,7 @@ OBJCOPYFLAGS_vmlinux.bin := -R .comment -S
> >
> > ifdef CONFIG_FG_KASLR
> > RELOCS_ARGS += --fg-kaslr
> > + OBJCOPYFLAGS += --keep-symbols=$(obj)/vmlinux.symbols
>
> I think this should be $(srctree)/$(src) rather than $(obj)? Using a
> separate build directory fails currently.

Thanks, I'll add this to my test plan for v1.