lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1454954268-3225-1-git-send-email-ard.biesheuvel@linaro.org>
Date:	Mon,  8 Feb 2016 18:57:45 +0100
From:	Ard Biesheuvel <ard.biesheuvel@...aro.org>
To:	linux-kernel@...r.kernel.org, linux-s390@...r.kernel.org,
	linuxppc-dev@...ts.ozlabs.org, x86@...nel.org,
	keescook@...omium.org, akpm@...ux-foundation.org, mingo@...nel.org,
	hpa@...or.com, heiko.carstens@...ibm.com, benh@...nel.crashing.org,
	mpe@...erman.id.au, mmarek@...e.cz, rusty@...tcorp.com.au,
	arnd@...db.de, linux-arch@...r.kernel.org, linux@...ck-us.net
Cc:	Ard Biesheuvel <ard.biesheuvel@...aro.org>
Subject: [PATCH v5 0/3] kallsyms base relative series

This is v5 of my kallsyms base relative series, which addresses some issues
reported on 32-bit architectures (ARM and Blackfin) and Tile-GX (64-bit)
 
Changes since v4:
- use a Kconfig symbol KALLSYMS_ABSOLUTE_PERCPU and set its default
  as appropriate rather than testing for X86_64 and SMP directly in
  scripts/link-vmlinux.sh (#1)
- only split the 32-bit kallsyms symbol address space into 2 GB for absolute
  symbols and 2 GB for relative symbols if --absolute-percpu is in effect;
  this should fix all reported issues on 32-bit architectures (including the
  pathological cases involving XIP_KERNEL and VMSPLIT_1G on ARM), since absolute
  per-cpu symbols are only used on SMP x86_64 anyway (#3)
- disable the base relative kallsyms feature for 64-bit Tile: as it turns out,
  this architecture cannot support it due to the way its symbols are laid out.
- remove the relative base check against kernel_start_addr; this is no longer
  needed now that we have 4 GB of symbol address space (#3)

Patch #2 is unchanged between v4 and v5

--- v4 blurb ---
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

 init/Kconfig            |  22 +++++
 kernel/kallsyms.c       |  42 ++++++--
 scripts/kallsyms.c      | 103 +++++++++++++++++---
 scripts/link-vmlinux.sh |   6 +-
 scripts/namespace.pl    |   2 +
 5 files changed, 153 insertions(+), 22 deletions(-)

-- 
2.5.0

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ