kprobes: Unpoison stack in jprobe_return() for KASAN
[cascardo/linux.git] / arch / x86 / kernel / asm-offsets_64.c
1 #ifndef __LINUX_KBUILD_H
2 # error "Please do not build this file directly, build asm-offsets.c instead"
3 #endif
4
5 #include <asm/ia32.h>
6
7 #define __SYSCALL_64(nr, sym, qual) [nr] = 1,
8 static char syscalls_64[] = {
9 #include <asm/syscalls_64.h>
10 };
11 #define __SYSCALL_I386(nr, sym, qual) [nr] = 1,
12 static char syscalls_ia32[] = {
13 #include <asm/syscalls_32.h>
14 };
15
16 int main(void)
17 {
18 #ifdef CONFIG_PARAVIRT
19         OFFSET(PV_IRQ_adjust_exception_frame, pv_irq_ops, adjust_exception_frame);
20         OFFSET(PV_CPU_usergs_sysret64, pv_cpu_ops, usergs_sysret64);
21         OFFSET(PV_CPU_swapgs, pv_cpu_ops, swapgs);
22         BLANK();
23 #endif
24
25 #define ENTRY(entry) OFFSET(pt_regs_ ## entry, pt_regs, entry)
26         ENTRY(bx);
27         ENTRY(cx);
28         ENTRY(dx);
29         ENTRY(sp);
30         ENTRY(bp);
31         ENTRY(si);
32         ENTRY(di);
33         ENTRY(r8);
34         ENTRY(r9);
35         ENTRY(r10);
36         ENTRY(r11);
37         ENTRY(r12);
38         ENTRY(r13);
39         ENTRY(r14);
40         ENTRY(r15);
41         ENTRY(flags);
42         BLANK();
43 #undef ENTRY
44
45 #define ENTRY(entry) OFFSET(saved_context_ ## entry, saved_context, entry)
46         ENTRY(cr0);
47         ENTRY(cr2);
48         ENTRY(cr3);
49         ENTRY(cr4);
50         ENTRY(cr8);
51         ENTRY(gdt_desc);
52         BLANK();
53 #undef ENTRY
54
55         OFFSET(TSS_ist, tss_struct, x86_tss.ist);
56         OFFSET(TSS_sp0, tss_struct, x86_tss.sp0);
57         BLANK();
58
59 #ifdef CONFIG_CC_STACKPROTECTOR
60         DEFINE(stack_canary_offset, offsetof(union irq_stack_union, stack_canary));
61         BLANK();
62 #endif
63
64         DEFINE(__NR_syscall_max, sizeof(syscalls_64) - 1);
65         DEFINE(NR_syscalls, sizeof(syscalls_64));
66
67         DEFINE(__NR_syscall_compat_max, sizeof(syscalls_ia32) - 1);
68         DEFINE(IA32_NR_syscalls, sizeof(syscalls_ia32));
69
70         return 0;
71 }