Merge branch 'siginfo-si_trapno-for-v5.15' of git://git.kernel.org/pub/scm/linux...
[linux-2.6-microblaze.git] / arch / arm64 / kernel / signal.c
index 2303633..1a0e2b5 100644 (file)
@@ -1000,3 +1000,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);