linux_dsm_epyc7002/arch/arm64
Dave Martin 936eb65ca2 arm64: ptrace: Flush user-RW TLS reg to thread_struct before reading
When reading current's user-writable TLS register (which occurs
when dumping core for native tasks), it is possible that userspace
has modified it since the time the task was last scheduled out.
The new TLS register value is not guaranteed to have been written
immediately back to thread_struct in this case.

As a result, a coredump can capture stale data for this register.
Reading the register for a stopped task via ptrace is unaffected.

For native tasks, this patch explicitly flushes the TPIDR_EL0
register back to thread_struct before dumping when operating on
current, thus ensuring that coredump contents are up to date.  For
compat tasks, the TLS register is not user-writable and so cannot
be out of sync, so no flush is required in compat_tls_get().

Signed-off-by: Dave Martin <Dave.Martin@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-06-22 15:58:20 +01:00
..
boot arm64: dts: hikey: Fix WiFi support 2017-05-23 14:18:10 +02:00
configs arm64: defconfig: enable options needed for QCom DB410c board 2017-05-19 00:01:37 -07:00
crypto Revert "crypto: arm64/sha - Add constant operand modifier to ASM_EXPORT" 2017-04-24 16:09:50 +08:00
include arm64: ptrace: Flush user-RW TLS reg to thread_struct before reading 2017-06-22 15:58:20 +01:00
kernel arm64: ptrace: Flush user-RW TLS reg to thread_struct before reading 2017-06-22 15:58:20 +01:00
kvm arm64: KVM: Do not use stack-protector to compile EL2 code 2017-05-15 11:31:16 +02:00
lib arm64: switch to RAW_COPY_USER 2017-03-28 18:23:24 -04:00
mm arm64/dma-mapping: Remove extraneous null-pointer checks 2017-06-15 11:40:22 +01:00
net bpf, arm64: fix faulty emission of map access in tail calls 2017-05-11 12:41:31 -04:00
xen xen/privcmd: Add IOCTL_PRIVCMD_DM_OP 2017-02-14 15:13:43 -05:00
Kconfig arm64: mm: select CONFIG_ARCH_PROC_KCORE_TEXT 2017-06-20 12:42:58 +01:00
Kconfig.debug arm64: relocation testing module 2017-04-04 17:03:32 +01:00
Kconfig.platforms mvebu arm64 for 4.12 2017-05-10 15:36:43 +02:00
Makefile arm64: pass machine size to sparse 2017-06-20 16:47:16 +01:00