|
@@ -237,7 +237,8 @@ bad_opcode:
|
|
|
*/
|
|
|
siginfo_t *mpx_generate_siginfo(struct pt_regs *regs)
|
|
|
{
|
|
|
- const struct bndreg *bndregs, *bndreg;
|
|
|
+ const struct mpx_bndreg_state *bndregs;
|
|
|
+ const struct mpx_bndreg *bndreg;
|
|
|
siginfo_t *info = NULL;
|
|
|
struct insn insn;
|
|
|
uint8_t bndregno;
|
|
@@ -264,7 +265,7 @@ siginfo_t *mpx_generate_siginfo(struct pt_regs *regs)
|
|
|
goto err_out;
|
|
|
}
|
|
|
/* now go select the individual register in the set of 4 */
|
|
|
- bndreg = &bndregs[bndregno];
|
|
|
+ bndreg = &bndregs->bndreg[bndregno];
|
|
|
|
|
|
info = kzalloc(sizeof(*info), GFP_KERNEL);
|
|
|
if (!info) {
|
|
@@ -306,7 +307,7 @@ err_out:
|
|
|
|
|
|
static __user void *mpx_get_bounds_dir(void)
|
|
|
{
|
|
|
- const struct bndcsr *bndcsr;
|
|
|
+ const struct mpx_bndcsr *bndcsr;
|
|
|
|
|
|
if (!cpu_feature_enabled(X86_FEATURE_MPX))
|
|
|
return MPX_INVALID_BOUNDS_DIR;
|
|
@@ -489,7 +490,7 @@ out_unmap:
|
|
|
static int do_mpx_bt_fault(void)
|
|
|
{
|
|
|
unsigned long bd_entry, bd_base;
|
|
|
- const struct bndcsr *bndcsr;
|
|
|
+ const struct mpx_bndcsr *bndcsr;
|
|
|
struct mm_struct *mm = current->mm;
|
|
|
|
|
|
bndcsr = get_xsave_field_ptr(XFEATURE_MASK_BNDCSR);
|