linux_dsm_epyc7002/arch/s390
Hendrik Brueckner 7bceec4e58 s390/vdso: revise CFI annotations of vDSO functions
Revise and add CFI CFA and register rule annotations to the vDSO
functions for proper stack unwinding and debugging.

Because glibc might call the vDSO in special ways, the vDSO code
does not rely on a stack frame created by the caller.  The TOD clock
value can be therefore not stored in the pre-allocated stack area
and additional stack space is required.
To correctly annotate these situations with CFI, the .cfi_val_offset
directive is required to create relative offsets on the value of the
stack register %r15.  Because the .cfi_val_offset directive is
available with recent GNU assembler versions only, additional checks
are necessary.

Note that if the vDSO is assembled with an older assembler version,
stack unwinding and debugging from within the vDSO code might not
be possible.

Signed-off-by: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
Reviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2017-12-13 10:51:36 +01:00
..
appldata s390: add a few more SPDX identifiers 2017-12-05 07:51:09 +01:00
boot s390: add a few more SPDX identifiers 2017-12-05 07:51:09 +01:00
configs s390: Remove CONFIG_HARDENED_USERCOPY 2017-11-16 13:12:21 +01:00
crypto s390: Remove redudant license text 2017-12-05 07:51:09 +01:00
hypfs s390: add a few more SPDX identifiers 2017-12-05 07:51:09 +01:00
include s390/vdso: revise CFI annotations of vDSO functions 2017-12-13 10:51:36 +01:00
kernel s390/vdso: revise CFI annotations of vDSO functions 2017-12-13 10:51:36 +01:00
kvm KVM: s390: Fixes for 4.15 2017-12-06 15:55:44 +01:00
lib s390/spinlock: fix indentation 2017-11-14 22:07:58 +01:00
mm s390/mm: fix off-by-one bug in 5-level page table handling 2017-12-05 07:51:09 +01:00
net s390: add a few more SPDX identifiers 2017-12-05 07:51:09 +01:00
numa s390: add a few more SPDX identifiers 2017-12-05 07:51:09 +01:00
oprofile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pci s390/pci: handle insufficient resources during dma tlb flush 2017-12-13 10:51:33 +01:00
tools s390: add a few more SPDX identifiers 2017-12-05 07:51:09 +01:00
defconfig s390: update defconfig 2017-10-16 08:19:28 +02:00
Kbuild s390: add a few more SPDX identifiers 2017-12-05 07:51:09 +01:00
Kconfig s390/perf: add perf_regs support and user stack dump 2017-11-16 15:06:11 +01:00
Kconfig.debug License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Makefile s390/vdso: revise CFI annotations of vDSO functions 2017-12-13 10:51:36 +01:00