Merge branch 'siginfo-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebieder...
[muen/linux.git] / include / uapi / asm-generic / siginfo.h
index 6088bca899179cc3ebf2f88a5200eee879823f7c..544208fd3db17a84938b2cea1ca94cc2ac579fbf 100644 (file)
@@ -94,6 +94,9 @@ typedef struct siginfo {
                        unsigned int _flags;    /* see ia64 si_flags */
                        unsigned long _isr;     /* isr */
 #endif
+
+#define __ADDR_BND_PKEY_PAD  (__alignof__(void *) < sizeof(short) ? \
+                             sizeof(short) : __alignof__(void *))
                        union {
                                /*
                                 * used when si_code=BUS_MCEERR_AR or
@@ -102,13 +105,13 @@ typedef struct siginfo {
                                short _addr_lsb; /* LSB of the reported address */
                                /* used when si_code=SEGV_BNDERR */
                                struct {
-                                       void *_dummy_bnd;
+                                       char _dummy_bnd[__ADDR_BND_PKEY_PAD];
                                        void __user *_lower;
                                        void __user *_upper;
                                } _addr_bnd;
                                /* used when si_code=SEGV_PKUERR */
                                struct {
-                                       void *_dummy_pkey;
+                                       char _dummy_pkey[__ADDR_BND_PKEY_PAD];
                                        __u32 _pkey;
                                } _addr_pkey;
                        };