linux/arch/arm64
Will Deacon eb35bdd7bc arm64: flush TLS registers during exec
Nathan reports that we leak TLS information from the parent context
during an exec, as we don't clear the TLS registers when flushing the
thread state.

This patch updates the flushing code so that we:

  (1) Unconditionally zero the tpidr_el0 register (since this is fully
      context switched for native tasks and zeroed for compat tasks)

  (2) Zero the tp_value state in thread_info before clearing the
      tpidrr0_el0 register for compat tasks (since this is only writable
      by the set_tls compat syscall and therefore not fully switched).

A missing compiler barrier is also added to the compat set_tls syscall.

Cc: <stable@vger.kernel.org>
Acked-by: Nathan Lynch <Nathan_Lynch@mentor.com>
Reported-by: Nathan Lynch <Nathan_Lynch@mentor.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2014-09-11 18:34:58 +01:00
..
boot dts: Add bindings for APM X-Gene SoC ethernet driver 2014-08-11 11:50:33 -07:00
configs arm64: configs: Enable X-Gene SATA and ethernet in defconfig 2014-08-19 19:26:09 +01:00
crypto arm64/crypto: remove redundant update of data 2014-08-26 11:42:22 +01:00
include arm64: report correct stack pointer in KSTK_ESP for compat tasks 2014-08-29 16:11:10 +01:00
kernel arm64: flush TLS registers during exec 2014-09-11 18:34:58 +01:00
kvm arm64: KVM: fix 64bit CP15 VM access for 32bit guests 2014-08-01 14:05:06 +02:00
lib arm64: lib: Implement optimized string length routines 2014-05-23 15:17:12 +01:00
mm arm64: ignore DT memreserve entries when booting in UEFI mode 2014-08-19 20:22:03 +01:00
xen arm: xen: implement multicall hypercall support. 2014-04-24 13:09:46 +01:00
Kconfig lib/scatterlist: make ARCH_HAS_SG_CHAIN an actual Kconfig 2014-08-08 15:57:26 -07:00
Kconfig.debug arm64: Enable TEXT_OFFSET fuzzing 2014-07-10 12:36:58 +01:00
Makefile arm64: align randomized TEXT_OFFSET on 4 kB boundary 2014-08-19 19:26:09 +01:00