struct proc_dir_entry *pde;
        struct ctl_table_header *sysctl;
        struct ctl_table *sysctl_entry;
 -      struct list_head sysctl_inodes;
 +      struct hlist_node sysctl_inodes;
        const struct proc_ns_operations *ns_ops;
        struct inode vfs_inode;
- };
+ } __randomize_layout;
  
  /*
   * General functions
 
        void (*ki_complete)(struct kiocb *iocb, long ret, long ret2);
        void                    *private;
        int                     ki_flags;
- };
 +      enum rw_hint            ki_hint;
+ } __randomize_layout;
  
  static inline bool is_sync_kiocb(struct kiocb *kiocb)
  {
        gfp_t                   gfp_mask;       /* implicit gfp mask for allocations */
        struct list_head        private_list;   /* ditto */
        void                    *private_data;  /* ditto */
- } __attribute__((aligned(sizeof(long))));
 +      errseq_t                wb_err;
+ } __attribute__((aligned(sizeof(long)))) __randomize_layout;
        /*
         * On most architectures that alignment is already the case; but
         * must be enforced here for CRIS, to let the least significant bit
        struct list_head        f_tfile_llink;
  #endif /* #ifdef CONFIG_EPOLL */
        struct address_space    *f_mapping;
- } __attribute__((aligned(4)));        /* lest something weird decides that 2 is OK */
 +      errseq_t                f_wb_err;
+ } __randomize_layout
+   __attribute__((aligned(4)));        /* lest something weird decides that 2 is OK */
  
  struct file_handle {
        __u32 handle_bytes;
 
        int                     sem_nsems;      /* no. of semaphores in array */
        int                     complex_count;  /* pending complex operations */
        unsigned int            use_global_lock;/* >0: global lock required */
- };
 +
 +      struct sem              sems[];
+ } __randomize_layout;
  
  #ifdef CONFIG_SYSVIPC