Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64...
[linux-2.6-microblaze.git] / arch / arm64 / kernel / signal.c
index fb54fb7..9fe70b1 100644 (file)
@@ -978,3 +978,42 @@ void __init minsigstksz_setup(void)
                round_up(sizeof(struct frame_record), 16) +
                16; /* max alignment padding */
 }
+
+/*
+ * Compile-time assertions for siginfo_t offsets. Check NSIG* as well, as
+ * changes likely come with new fields that should be added below.
+ */
+static_assert(NSIGILL  == 11);
+static_assert(NSIGFPE  == 15);
+static_assert(NSIGSEGV == 9);
+static_assert(NSIGBUS  == 5);
+static_assert(NSIGTRAP == 6);
+static_assert(NSIGCHLD == 6);
+static_assert(NSIGSYS  == 2);
+static_assert(sizeof(siginfo_t) == 128);
+static_assert(__alignof__(siginfo_t) == 8);
+static_assert(offsetof(siginfo_t, si_signo)    == 0x00);
+static_assert(offsetof(siginfo_t, si_errno)    == 0x04);
+static_assert(offsetof(siginfo_t, si_code)     == 0x08);
+static_assert(offsetof(siginfo_t, si_pid)      == 0x10);
+static_assert(offsetof(siginfo_t, si_uid)      == 0x14);
+static_assert(offsetof(siginfo_t, si_tid)      == 0x10);
+static_assert(offsetof(siginfo_t, si_overrun)  == 0x14);
+static_assert(offsetof(siginfo_t, si_status)   == 0x18);
+static_assert(offsetof(siginfo_t, si_utime)    == 0x20);
+static_assert(offsetof(siginfo_t, si_stime)    == 0x28);
+static_assert(offsetof(siginfo_t, si_value)    == 0x18);
+static_assert(offsetof(siginfo_t, si_int)      == 0x18);
+static_assert(offsetof(siginfo_t, si_ptr)      == 0x18);
+static_assert(offsetof(siginfo_t, si_addr)     == 0x10);
+static_assert(offsetof(siginfo_t, si_addr_lsb) == 0x18);
+static_assert(offsetof(siginfo_t, si_lower)    == 0x20);
+static_assert(offsetof(siginfo_t, si_upper)    == 0x28);
+static_assert(offsetof(siginfo_t, si_pkey)     == 0x20);
+static_assert(offsetof(siginfo_t, si_perf_data)        == 0x18);
+static_assert(offsetof(siginfo_t, si_perf_type)        == 0x20);
+static_assert(offsetof(siginfo_t, si_band)     == 0x10);
+static_assert(offsetof(siginfo_t, si_fd)       == 0x18);
+static_assert(offsetof(siginfo_t, si_call_addr)        == 0x10);
+static_assert(offsetof(siginfo_t, si_syscall)  == 0x18);
+static_assert(offsetof(siginfo_t, si_arch)     == 0x1c);