linux/arch/s390/include/asm
Jens Remus 160e19b95b s390/vdso: Add CFI for RA register to asm macro vdso_func
[ Upstream commit b961ec10b9 ]

The return-address (RA) register r14 is specified as volatile in the
s390x ELF ABI [1]. Nevertheless proper CFI directives must be provided
for an unwinder to restore the return address, if the RA register
value is changed from its value at function entry, as it is the case.

[1]: s390x ELF ABI, https://github.com/IBM/s390x-abi/releases

Fixes: 4bff8cb545 ("s390: convert to GENERIC_VDSO")
Signed-off-by: Jens Remus <jremus@linux.ibm.com>
Acked-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2024-05-17 11:55:59 +02:00
..
fpu s390/vx: fix save/restore of fpu kernel context 2024-01-01 12:38:53 +00:00
trace License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
vdso s390/vdso: use system call functions 2021-07-27 09:39:15 +02:00
abs_lowcore.h s390/smp: rework absolute lowcore access 2022-09-14 16:46:00 +02:00
airq.h s390/airq: allow for airq structure that uses an input vector 2022-07-11 09:54:15 +02:00
alternative-asm.h s390/alternatives: remove padding generation code 2022-05-17 15:16:28 +02:00
alternative.h s390/alternatives: remove padding generation code 2022-05-17 15:16:28 +02:00
ap.h s390/ap: fix status returned by ap_qact() 2023-03-10 09:33:02 +01:00
appldata.h s390/appldata: pass parameter list pointer to appldata_asm 2018-10-09 11:20:50 +02:00
archrandom.h Random number generator updates for Linux 6.0-rc1. 2022-08-02 17:31:35 -07:00
asm-const.h s390/kernel: unify EX_TABLE* implementations 2020-07-20 10:55:45 +02:00
asm-extable.h s390/uaccess: use exception handler to zero result on get_user() failure 2022-06-01 12:03:17 +02:00
asm-prototypes.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
atomic.h locking/atomic: make ARCH_ATOMIC a Kconfig symbol 2021-05-26 13:20:49 +02:00
atomic_ops.h s390/atomic,cmpxchg: make constraints work with old compilers 2021-04-15 17:47:42 +02:00
barrier.h s390: add KCSAN instrumentation to barriers and spinlocks 2022-04-25 13:54:16 +02:00
bitops.h provide arch_test_bit_acquire for architectures that define test_bit 2022-08-27 09:49:54 -07:00
boot_data.h s390/ipl: read IPL report at early boot 2019-04-26 12:34:05 +02:00
bug.h bug: Use normal relative pointers in 'struct bug_entry' 2022-05-19 23:46:10 +02:00
bugs.h s390: add a few more SPDX identifiers 2017-12-05 07:51:09 +01:00
cache.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
ccwdev.h s390/cio: remove unused ccw_device_force_console() declaration 2022-09-28 11:12:44 +02:00
ccwgroup.h treewide: Replace zero-length arrays with flexible-array members 2022-02-17 07:00:39 -06:00
checksum.h s390/checksum: use register pair instead of register asm 2021-06-18 16:41:21 +02:00
chpid.h s390/cio: rename struct channel_path_desc 2018-03-26 16:13:11 +02:00
chsc.h treewide: Replace zero-length arrays with flexible-array members 2022-02-17 07:00:39 -06:00
cio.h s390/stp: clock_delta should be signed 2022-05-11 14:40:57 +02:00
clocksource.h s390: convert to GENERIC_VDSO 2020-08-26 18:47:21 +02:00
clp.h s390/pci: Implement ioremap_wc/prot() with MIO 2020-09-14 10:30:07 +02:00
cmb.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cmpxchg.h s390/cmpxchg: use register pair instead of register asm 2021-06-28 11:18:28 +02:00
compat.h RISC-V Patches for the 5.19 Merge Window, Part 1 2022-05-31 14:10:54 -07:00
cpacf.h s390/cpacf: get rid of register asm 2021-07-27 09:39:15 +02:00
cpcmd.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cpu.h s390: add support for BEAR enhancement facility 2021-10-26 15:21:29 +02:00
cpu_mcf.h s390/cpum_cf: move array from header to C file 2021-09-07 13:38:41 +02:00
cpu_mf-insn.h s390/cpu_mf: add store cpu counter multiple instruction support 2019-02-22 09:19:52 +01:00
cpu_mf.h s390/cpum_sf: add READ_ONCE() semantics to compare and swap loops 2023-01-18 11:58:12 +01:00
cpufeature.h s390/uvdevice: autoload module based on CPU facility 2022-07-19 16:18:49 +02:00
cputime.h s390: convert to generic entry 2021-01-19 12:29:26 +01:00
crw.h s390: remove invalid email address of Heiko Carstens 2022-02-06 23:31:29 +01:00
css_chars.h s390/cio: Add new Operation Code OC3 to PNSO 2020-09-15 13:21:46 -07:00
ctl_reg.h s390/pai: Add support for PAI Extension 1 NNPA counters 2022-09-16 18:36:25 +02:00
current.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
debug.h s390/debug: add _ASM_S390_ prefix to header guard 2023-02-01 08:34:30 +01:00
delay.h s390/delay: remove udelay_simple() 2020-12-16 14:55:49 +01:00
diag.h s390/extable: move EX_TABLE define to asm-extable.h 2022-03-08 00:33:00 +01:00
dis.h s390/tools: generate header files in arch/s390/include/generated/ 2018-01-23 07:36:53 +01:00
dma.h PCI: Move isa_dma_bridge_buggy out of asm/dma.h 2022-07-22 17:24:47 -05:00
dwarf.h s390/vdso: Add CFI for RA register to asm macro vdso_func 2024-05-17 11:55:59 +02:00
eadm.h treewide: Replace zero-length arrays with flexible-array members 2022-02-17 07:00:39 -06:00
ebcdic.h s390: fix clang -Wpointer-sign warnigns in boot code 2019-05-03 17:17:58 +02:00
elf.h s390/hwcaps: make sie capability regular hwcap 2021-07-27 09:39:21 +02:00
entry-common.h s390/pai: add support for cryptography counters 2022-05-09 11:50:01 +02:00
exec.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
extable.h s390/extable: convert to relative table with data 2022-03-08 00:33:00 +01:00
extmem.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
facility.h include/linux/delay.h: replace kernel.h with the necessary inclusions 2021-11-09 10:02:49 -08:00
fcx.h treewide: Replace zero-length arrays with flexible-array members 2022-02-17 07:00:39 -06:00
ftrace.h s390/ftrace: fix arch_ftrace_get_regs implementation 2022-03-01 20:41:28 +01:00
ftrace.lds.h s390/ftrace: implement hotpatching 2021-08-03 14:31:40 +02:00
futex.h s390/futex: add missing EX_TABLE entry to __futex_atomic_op() 2022-10-26 14:47:31 +02:00
gmap.h KVM: s390: pv: refactor s390_reset_acc 2022-07-13 14:42:11 +00:00
hardirq.h softirq: Move __ARCH_HAS_DO_SOFTIRQ to Kconfig 2021-02-10 23:34:16 +01:00
hugetlb.h s390/hugetlb: fix prepare_hugepage_range() check for 2 GB hugepages 2022-08-30 21:57:07 +02:00
hw_irq.h s390/irq: make init_ext_interrupts static 2020-03-11 14:18:44 +01:00
idals.h treewide: Replace zero-length arrays with flexible-array members 2022-02-17 07:00:39 -06:00
idle.h s390/time,idle: get rid of unsigned long long 2021-03-08 10:46:27 +01:00
io.h mm: remove xlate_dev_kmem_ptr() 2021-05-07 00:26:34 -07:00
ipl.h s390/kexec: set end-of-ipl flag in last diag308 call 2022-04-25 13:54:12 +02:00
irq.h s390/irq: use assignment instead of cast 2022-03-08 00:33:01 +01:00
irq_work.h arch: consolidate arch_irq_work_raise prototypes 2024-02-05 20:12:49 +00:00
irqflags.h s390/irqflags: always inline arch irqflags functions 2021-06-18 16:41:19 +02:00
isc.h KVM: s390: add gib_alert_irq_handler() 2019-02-05 14:29:23 +01:00
itcw.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
jump_label.h work around gcc bugs with 'asm goto' with outputs 2024-02-23 09:12:28 +01:00
kasan.h s390: setup kernel memory layout early 2021-06-18 16:41:19 +02:00
Kbuild local64.h: make <asm/local64.h> mandatory 2020-12-29 15:36:49 -08:00
kdebug.h exit: Remove calls of do_exit after noreturn versions of die 2021-10-20 13:09:47 -05:00
kexec.h kexec: drop weak attribute from functions 2022-07-15 12:21:16 -04:00
kfence.h s390: add support for KFENCE 2021-07-30 17:09:02 +02:00
kprobes.h s390/kprobes: Avoid additional kprobe in kretprobe handling 2022-03-10 15:58:17 +01:00
kvm_host.h KVM: s390: add stat counter for shadow gmap events 2024-03-15 10:48:18 -04:00
kvm_para.h KVM: s390: generate kvm hypercall functions 2021-08-25 11:03:35 +02:00
linkage.h s390/extable: move EX_TABLE define to asm-extable.h 2022-03-08 00:33:00 +01:00
lowcore.h s390/pai: Add support for PAI Extension 1 NNPA counters 2022-09-16 18:36:25 +02:00
maccess.h s390/mm: uninline copy_oldmem_kernel() function 2022-09-14 16:46:01 +02:00
mem_detect.h s390/mem_detect: provide single get_mem_detect_end 2019-08-26 12:51:18 +02:00
mem_encrypt.h treewide: Replace the use of mem_encrypt_active() with cc_platform_has() 2021-10-04 11:47:24 +02:00
mmu.h s390 updates for 5.20 merge window 2022-08-06 17:05:21 -07:00
mmu_context.h KVM: s390: pv: usage counter instead of flag 2022-07-13 14:42:11 +00:00
mmzone.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
module.h s390/ftrace: implement hotpatching 2021-08-03 14:31:40 +02:00
nmi.h s390/pai: add support for cryptography counters 2022-05-09 11:50:01 +02:00
nospec-branch.h s390: introduce nospec_uses_trampoline() 2021-10-26 15:21:29 +02:00
nospec-insn.h s390/nospec: remove unneeded header includes 2022-07-13 15:21:55 +02:00
numa.h s390/mm: remove fake numa support 2020-02-27 16:02:21 +01:00
os_info.h s390/mm: uninline copy_oldmem_kernel() function 2022-09-14 16:46:01 +02:00
page-states.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
page.h s390 updates for the 5.18 merge window 2022-03-25 10:01:34 -07:00
pai.h s390/pai: Add support for PAI Extension 1 NNPA counters 2022-09-16 18:36:25 +02:00
pci.h s390/pci: remove unused bus_next field from struct zpci_dev 2022-09-28 11:12:44 +02:00
pci_clp.h s390/pci: stash dtsm and maxstbl 2022-07-11 09:54:24 +02:00
pci_debug.h s390/pci: add error record for CC 2 retries 2022-04-25 13:54:15 +02:00
pci_dma.h s390/pci: use physical addresses in DMA tables 2021-12-06 14:42:26 +01:00
pci_insn.h KVM: s390: pci: do initial setup for AEN interpretation 2022-07-11 09:54:28 +02:00
pci_io.h s390/pci: fix max size calculation in zpci_memcpy_toio() 2024-01-25 15:27:49 -08:00
percpu.h s390/percpu: add READ_ONCE() to arch_this_cpu_to_op_simple() 2023-01-18 11:58:12 +01:00
perf_event.h s390: implement perf_arch_fetch_caller_regs 2019-11-30 10:52:44 +01:00
pgalloc.h s390/mm: use set_pXd()/set_pte() helper functions everywhere 2022-03-01 21:05:10 +01:00
pgtable.h mm: add dummy pmd_young() for architectures not having it 2022-11-30 14:49:41 -08:00
pkey.h s390/pkey: pkey cleanup: narrow in-kernel API, fix some variable types 2019-08-21 12:58:53 +02:00
pnet.h s390/net: move pnet constants 2019-02-07 18:06:18 -08:00
preempt.h s390/preempt: disable __preempt_count_add() optimization for PROFILE_ALL_BRANCHES 2022-05-11 14:40:58 +02:00
processor.h s390: avoid using global register for current_stack_pointer 2022-11-16 11:39:12 +01:00
ptdump.h s390: add ARCH_HAS_DEBUG_WX support 2020-09-14 11:38:35 +02:00
ptrace.h s390/ptrace: move short psw definitions to ptrace header file 2022-05-06 20:45:15 +02:00
purgatory.h s390/purgatory: Remove duplicate variable definitions 2018-07-06 08:47:51 +02:00
qdio.h s390/qdio: Fix spelling mistake 2022-06-30 19:40:36 +02:00
runtime_instr.h s390/runtime instrumentation: provide uapi header file 2018-02-02 10:47:15 +01:00
schid.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sclp.h s390 updates for 5.20 merge window 2022-08-06 17:05:21 -07:00
scsw.h s390/dasd: suppress generic error messages for PPRC secondary devices 2022-09-21 08:32:51 -06:00
seccomp.h s390: Enable seccomp architecture tracking 2020-11-20 11:16:35 -08:00
sections.h s390: use generic version of arch_is_kernel_initmem_freed() 2021-11-06 13:30:38 -07:00
serial.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
set_memory.h s390/mm: implement set_memory_4k() 2021-07-30 17:09:01 +02:00
setup.h s390: make command line configurable 2021-10-26 15:21:31 +02:00
shmparam.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
signal.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sigp.h s390/sigp: use register pair instead of register asm 2021-06-18 16:41:22 +02:00
smp.h s390/dump: save IPL CPU registers once DAT is available 2022-09-14 16:46:00 +02:00
softirq_stack.h asm-generic: Conditionally enable do_softirq_own_stack() via Kconfig. 2022-09-05 17:20:55 +02:00
sparsemem.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
spinlock.h s390/alternatives: provide identical sized orginal/alternative sequences 2022-05-17 15:16:28 +02:00
spinlock_types.h locking: Allow to include asm/spinlock_types.h from linux/spinlock_types_raw.h 2021-12-07 15:14:12 +01:00
stacktrace.h s390/stack: add union to reflect kvm stack slot usages 2022-06-01 12:03:17 +02:00
stp.h s390/stp: fix todoff size 2022-05-11 14:40:57 +02:00
string.h s390/string: use generic strlcpy 2021-10-26 15:21:30 +02:00
switch_to.h s390: always save and restore all registers on context switch 2017-12-05 07:51:08 +01:00
syscall.h arch: remove unused function syscall_set_arguments() 2021-09-14 16:06:20 +02:00
syscall_wrapper.h s390: fix typo in syscall_wrapper.h 2022-03-27 22:18:38 +02:00
sysinfo.h treewide: Replace zero-length arrays with flexible-array members 2022-02-17 07:00:39 -06:00
text-patching.h s390: introduce text_poke_sync() 2021-10-11 20:55:58 +02:00
thread_info.h s390: add CPU field to struct thread_info 2021-09-30 16:12:51 +02:00
timex.h s390: define get_cycles macro for arch-override 2022-05-13 23:59:23 +02:00
tlb.h mmu_gather: Remove per arch tlb_{start,end}_vma() 2022-07-21 10:50:13 -07:00
tlbflush.h s390: convert ".insn" encoding to instruction names 2022-03-10 15:58:17 +01:00
topology.h s390/numa: set node distance to LOCAL_DISTANCE 2020-08-11 18:16:35 +02:00
tpi.h KVM: s390: pci: enable host forwarding of Adapter Event Notifications 2022-07-11 09:54:29 +02:00
types.h s390: introduce register pair union 2021-06-18 16:41:21 +02:00
uaccess.h s390 updates for 5.20 merge window 2022-08-06 17:05:21 -07:00
unistd.h fs: stat: compat: Add __ARCH_WANT_COMPAT_STAT 2022-04-26 13:35:45 -07:00
unwind.h s390/unwind: fix fgraph return address recovery 2022-07-28 18:05:24 +02:00
uprobes.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
user.h asm/user.h: killed unused macros 2022-01-30 21:17:00 -05:00
uv.h KVM: s390: pv: handle secure storage violations for protected guests 2022-07-13 14:42:11 +00:00
vdso.h s390/vdso: add minimal compat vdso 2021-07-08 15:37:28 +02:00
vga.h s390: add a few more SPDX identifiers 2017-12-05 07:51:09 +01:00
vmalloc.h mm/vmalloc: Add empty <asm/vmalloc.h> headers and use them from <linux/vmalloc.h> 2019-12-10 10:12:55 +01:00
vmlinux.lds.h s390: introduce .boot.preserved.data section 2019-04-10 17:47:09 +02:00
vtime.h s390: convert to generic entry 2021-01-19 12:29:26 +01:00
vtimer.h s390: remove orphaned function declarations 2020-09-30 12:09:54 +02:00
vx-insn.h s390/vx: remove comments from macros which break LLVM's IAS 2022-05-06 20:45:14 +02:00
xor.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00