]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commit
arm64: documentation: document tagged pointer stack constraints
authorKristina Martsenko <kristina.martsenko@arm.com>
Wed, 3 May 2017 15:37:48 +0000 (16:37 +0100)
committerKleber Sacilotto de Souza <kleber.souza@canonical.com>
Tue, 20 Jun 2017 10:18:28 +0000 (12:18 +0200)
commit39f408713e13d8c282a349391d084f3263b17b2c
treea329243338dbe995051fe5ae8f26fd25c5b223a3
parented97cb3de3bb51b5532845e995e2730b935260ba
arm64: documentation: document tagged pointer stack constraints

BugLink: http://bugs.launchpad.net/bugs/1694621
commit f0e421b1bf7af97f026e1bb8bfe4c5a7a8c08f42 upstream.

Some kernel features don't currently work if a task puts a non-zero
address tag in its stack pointer, frame pointer, or frame record entries
(FP, LR).

For example, with a tagged stack pointer, the kernel can't deliver
signals to the process, and the task is killed instead. As another
example, with a tagged frame pointer or frame records, perf fails to
generate call graphs or resolve symbols.

For now, just document these limitations, instead of finding and fixing
everything that doesn't work, as it's not known if anyone needs to use
tags in these places anyway.

In addition, as requested by Dave Martin, generalize the limitations
into a general kernel address tag policy, and refactor
tagged-pointers.txt to include it.

Fixes: d50240a5f6ce ("arm64: mm: permit use of tagged pointers at EL0")
Reviewed-by: Dave Martin <Dave.Martin@arm.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Kristina Martsenko <kristina.martsenko@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Documentation/arm64/tagged-pointers.txt