On Mon, Jan 25, 2016 at 6:19 AM, Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> wrote: > This v4 of my kallsyms base relative implementation is now a 3 piece series, > since it caused some problems due to the way absolute symbols are handled > by the absolute per cpu code. As it turns out, that code was probably wrong > in the sense that it caused non-relocated symbol addresses to be emitted > for values that are in fact relative to the address of the kernel text. > > Patch #1 fixes the scripts/kallsyms invocation to only pass the x86_64 > specific --absolute-percpu option if CONFIG_SMP is also set. > > Patch #2 reworks the absolute percpu code to only emit those percpu symbols > as absolute, and not symbols that have been classified as 'A' (absolute) by > the linker, since that does not mean quite the same thing. > > Patch #3 is the original kallsyms base relative patch, with some > modifications: > - folded the s/ULLONG_MAX/-1ULL? change made by Andrew > - ensured that the kallsyms_relative_base value itself is relocated as > required. > - dropped all of the acks and other tags, as they have become outdated with > the recent changes to this patch. > > Ard Biesheuvel (3): > x86: kallsyms: disable absolute percpu symbols on !SMP > kallsyms: don't overload absolute symbol type for percpu symbols > kallsyms: add support for relative offsets in kallsyms address table Still works for me! Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> Tested-by: Kees Cook <keescook@xxxxxxxxxxxx> -Kees > > init/Kconfig | 16 +++ > kernel/kallsyms.c | 38 ++++++-- > scripts/kallsyms.c | 102 +++++++++++++++++--- > scripts/link-vmlinux.sh | 6 +- > scripts/namespace.pl | 2 + > 5 files changed, 142 insertions(+), 22 deletions(-) > > -- > 2.5.0 > -- Kees Cook Chrome OS & Brillo Security -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html