int mpx_handle_bd_fault(void);
 static inline int kernel_managing_mpx_tables(struct mm_struct *mm)
 {
-       return (mm->bd_addr != MPX_INVALID_BOUNDS_DIR);
+       return (mm->context.bd_addr != MPX_INVALID_BOUNDS_DIR);
 }
 static inline void mpx_mm_init(struct mm_struct *mm)
 {
         * NULL is theoretically a valid place to put the bounds
         * directory, so point this at an invalid address.
         */
-       mm->bd_addr = MPX_INVALID_BOUNDS_DIR;
+       mm->context.bd_addr = MPX_INVALID_BOUNDS_DIR;
 }
 void mpx_notify_unmap(struct mm_struct *mm, struct vm_area_struct *vma,
                      unsigned long start, unsigned long end);
 
         * The copy_xregs_to_kernel() beneath get_xsave_field_ptr() is
         * expected to be relatively expensive. Storing the bounds
         * directory here means that we do not have to do xsave in the
-        * unmap path; we can just use mm->bd_addr instead.
+        * unmap path; we can just use mm->context.bd_addr instead.
         */
        bd_base = mpx_get_bounds_dir();
        down_write(&mm->mmap_sem);
-       mm->bd_addr = bd_base;
-       if (mm->bd_addr == MPX_INVALID_BOUNDS_DIR)
+       mm->context.bd_addr = bd_base;
+       if (mm->context.bd_addr == MPX_INVALID_BOUNDS_DIR)
                ret = -ENXIO;
 
        up_write(&mm->mmap_sem);
                return -ENXIO;
 
        down_write(&mm->mmap_sem);
-       mm->bd_addr = MPX_INVALID_BOUNDS_DIR;
+       mm->context.bd_addr = MPX_INVALID_BOUNDS_DIR;
        up_write(&mm->mmap_sem);
        return 0;
 }
                end = bta_end_vaddr;
        }
 
-       bde_vaddr = mm->bd_addr + mpx_get_bd_entry_offset(mm, start);
+       bde_vaddr = mm->context.bd_addr + mpx_get_bd_entry_offset(mm, start);
        ret = get_bt_addr(mm, bde_vaddr, &bt_addr);
        /*
         * No bounds table there, so nothing to unmap.
 
        bool tlb_flush_pending;
 #endif
        struct uprobes_state uprobes_state;
-#ifdef CONFIG_X86_INTEL_MPX
-       /* address of the bounds directory */
-       void __user *bd_addr;
-#endif
 #ifdef CONFIG_HUGETLB_PAGE
        atomic_long_t hugetlb_usage;
 #endif