|
@@ -94,15 +94,23 @@ typedef struct siginfo {
|
|
|
unsigned int _flags; /* see ia64 si_flags */
|
|
|
unsigned long _isr; /* isr */
|
|
|
#endif
|
|
|
- short _addr_lsb; /* LSB of the reported address */
|
|
|
union {
|
|
|
+ /*
|
|
|
+ * used when si_code=BUS_MCEERR_AR or
|
|
|
+ * used when si_code=BUS_MCEERR_AO
|
|
|
+ */
|
|
|
+ short _addr_lsb; /* LSB of the reported address */
|
|
|
/* used when si_code=SEGV_BNDERR */
|
|
|
struct {
|
|
|
+ short _dummy_bnd;
|
|
|
void __user *_lower;
|
|
|
void __user *_upper;
|
|
|
} _addr_bnd;
|
|
|
/* used when si_code=SEGV_PKUERR */
|
|
|
- __u32 _pkey;
|
|
|
+ struct {
|
|
|
+ short _dummy_pkey;
|
|
|
+ __u32 _pkey;
|
|
|
+ } _addr_pkey;
|
|
|
};
|
|
|
} _sigfault;
|
|
|
|
|
@@ -142,7 +150,7 @@ typedef struct siginfo {
|
|
|
#define si_addr_lsb _sifields._sigfault._addr_lsb
|
|
|
#define si_lower _sifields._sigfault._addr_bnd._lower
|
|
|
#define si_upper _sifields._sigfault._addr_bnd._upper
|
|
|
-#define si_pkey _sifields._sigfault._pkey
|
|
|
+#define si_pkey _sifields._sigfault._addr_pkey._pkey
|
|
|
#define si_band _sifields._sigpoll._band
|
|
|
#define si_fd _sifields._sigpoll._fd
|
|
|
#define si_call_addr _sifields._sigsys._call_addr
|