#define pr_fmt(fmt) …
#include <linux/kernel.h>
#include <linux/errno.h>
#include <linux/unistd.h>
#include <linux/uaccess.h>
#include <linux/syscalls.h>
#include <asm/ucontext.h>
#include <asm/fpu/signal.h>
#include <asm/sighandling.h>
#include <asm/syscall.h>
#include <asm/sigframe.h>
#include <asm/signal.h>
static void force_valid_ss(struct pt_regs *regs)
{ … }
static bool restore_sigcontext(struct pt_regs *regs,
struct sigcontext __user *usc,
unsigned long uc_flags)
{ … }
static __always_inline int
__unsafe_setup_sigcontext(struct sigcontext __user *sc, void __user *fpstate,
struct pt_regs *regs, unsigned long mask)
{ … }
#define unsafe_put_sigcontext(sc, fp, regs, set, label) …
#define unsafe_put_sigmask(set, frame, label) …
static unsigned long frame_uc_flags(struct pt_regs *regs)
{ … }
int x64_setup_rt_frame(struct ksignal *ksig, struct pt_regs *regs)
{ … }
SYSCALL_DEFINE0(rt_sigreturn)
{ … }
#ifdef CONFIG_X86_X32_ABI
static int x32_copy_siginfo_to_user(struct compat_siginfo __user *to,
const struct kernel_siginfo *from)
{ … }
int copy_siginfo_to_user32(struct compat_siginfo __user *to,
const struct kernel_siginfo *from)
{ … }
int x32_setup_rt_frame(struct ksignal *ksig, struct pt_regs *regs)
{ … }
COMPAT_SYSCALL_DEFINE0(x32_rt_sigreturn)
{ … }
#endif
#ifdef CONFIG_COMPAT
void sigaction_compat_abi(struct k_sigaction *act, struct k_sigaction *oact)
{ … }
#endif
static_assert(…);
static_assert(…);
static_assert(…);
static_assert(…);
static_assert(…);
static_assert(…);
static_assert(…);
static_assert(…);
static_assert(…);
static_assert(…);
static_assert(…);
static_assert(…);
#define CHECK_SI_OFFSET(name) …
#define CHECK_SI_SIZE(name, size) …
CHECK_SI_OFFSET(…) …;
CHECK_SI_SIZE(…) …;
static_assert(…);
static_assert(…);
CHECK_SI_OFFSET(…) …;
CHECK_SI_SIZE(…) …;
static_assert(…);
static_assert(…);
static_assert(…);
CHECK_SI_OFFSET(…) …;
CHECK_SI_SIZE(…) …;
static_assert(…);
static_assert(…);
static_assert(…);
CHECK_SI_OFFSET(…) …;
CHECK_SI_SIZE(…) …;
static_assert(…);
static_assert(…);
static_assert(…);
static_assert(…);
static_assert(…);
#ifdef CONFIG_X86_X32_ABI
static_assert(…);
static_assert(…);
static_assert(…);
static_assert(…);
#endif
CHECK_SI_OFFSET(…) …;
CHECK_SI_SIZE(…) …;
static_assert(…);
static_assert(…);
static_assert(…);
static_assert(…);
static_assert(…);
static_assert(…);
static_assert(…);
static_assert(…);
static_assert(…);
CHECK_SI_OFFSET(…) …;
CHECK_SI_SIZE(…) …;
static_assert(…);
static_assert(…);
CHECK_SI_OFFSET(…) …;
CHECK_SI_SIZE(…) …;
static_assert(…);
static_assert(…);
static_assert(…);