linux/arch/parisc/include/uapi/asm
Helge Deller df24e1783e parisc: Add vDSO support
Add minimal vDSO support, which provides the signal trampoline helpers,
but none of the userspace syscall helpers like time wrappers.

The big benefit of this vDSO implementation is, that we now don't need
an executeable stack any longer. PA-RISC is one of the last
architectures where an executeable stack was needed in oder to implement
the signal trampolines by putting assembly instructions on the stack
which then gets executed. Instead the kernel will provide the relevant
code in the vDSO page and only put the pointers to the signal
information on the stack.

By dropping the need for executable stacks we avoid running into issues
with applications which want non executable stacks for security reasons.
Additionally, alternative stacks on memory areas without exec
permissions are supported too.

This code is based on an initial implementation by Randolph Chung from 2006:
https://lore.kernel.org/linux-parisc/4544A34A.6080700@tausq.org/

I did the porting and lifted the code to current code base. Dave fixed
the unwind code so that gdb and glibc are able to backtrace through the
code. An additional patch to gdb will be pushed upstream by Dave.

Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Dave Anglin <dave.anglin@bell.net>
Cc: Randolph Chung <randolph@tausq.org>
Signed-off-by: Helge Deller <deller@gmx.de>
2022-03-11 19:49:30 +01:00
..
Kbuild treewide: Add SPDX license identifier - Kbuild 2019-05-30 11:32:33 -07:00
auxvec.h parisc: Add vDSO support 2022-03-11 19:49:30 +01:00
bitsperlong.h
byteorder.h
errno.h
fcntl.h parisc: Define O_NONBLOCK to become 000200000 2020-10-15 08:10:38 +02:00
ioctl.h
ioctls.h
ipcbuf.h
mman.h mm/madvise: introduce MADV_POPULATE_(READ|WRITE) to prefault page tables 2021-06-30 20:47:30 -07:00
msgbuf.h arch: msgbuf.h: make uapi asm/msgbuf.h self-contained 2019-12-04 19:44:14 -08:00
pdc.h parisc: Fix pdc_toc_pim_11 and pdc_toc_pim_20 definitions 2022-01-07 01:29:22 +01:00
posix_types.h parisc64: change __kernel_suseconds_t to match glibc 2018-10-26 08:14:35 +02:00
ptrace.h
sembuf.h arch: sembuf.h: make uapi asm/sembuf.h self-contained 2019-12-04 19:44:14 -08:00
setup.h
shmbuf.h y2038: ipc: remove __kernel_time_t reference from headers 2019-11-15 14:38:28 +01:00
sigcontext.h
signal.h arch: move SA_* definitions to generic headers 2020-11-23 10:31:05 -06:00
socket.h fix up for "net: add new socket option SO_RESERVE_MEM" 2021-10-01 15:00:21 +01:00
stat.h
statfs.h
termbits.h
termios.h
unistd.h parisc: generate uapi header and system call table files 2018-12-10 08:26:04 +01:00