Lines Matching refs:ex

14 static bool cpy_faulted_on_uaccess(const struct exception_table_entry *ex,  in cpy_faulted_on_uaccess()  argument
17 bool uaccess_is_write = FIELD_GET(EX_DATA_UACCESS_WRITE, ex->data); in cpy_faulted_on_uaccess()
25 const struct exception_table_entry *ex = search_exception_tables(addr); in insn_may_access_user() local
27 if (!ex) in insn_may_access_user()
30 switch (ex->type) { in insn_may_access_user()
32 return cpy_faulted_on_uaccess(ex, esr); in insn_may_access_user()
39 get_ex_fixup(const struct exception_table_entry *ex) in get_ex_fixup() argument
41 return ((unsigned long)&ex->fixup + ex->fixup); in get_ex_fixup()
44 static bool ex_handler_uaccess_err_zero(const struct exception_table_entry *ex, in ex_handler_uaccess_err_zero() argument
47 int reg_err = FIELD_GET(EX_DATA_REG_ERR, ex->data); in ex_handler_uaccess_err_zero()
48 int reg_zero = FIELD_GET(EX_DATA_REG_ZERO, ex->data); in ex_handler_uaccess_err_zero()
53 regs->pc = get_ex_fixup(ex); in ex_handler_uaccess_err_zero()
57 static bool ex_handler_uaccess_cpy(const struct exception_table_entry *ex, in ex_handler_uaccess_cpy() argument
61 if (!cpy_faulted_on_uaccess(ex, esr)) in ex_handler_uaccess_cpy()
64 regs->pc = get_ex_fixup(ex); in ex_handler_uaccess_cpy()
69 ex_handler_load_unaligned_zeropad(const struct exception_table_entry *ex, in ex_handler_load_unaligned_zeropad() argument
72 int reg_data = FIELD_GET(EX_DATA_REG_DATA, ex->data); in ex_handler_load_unaligned_zeropad()
73 int reg_addr = FIELD_GET(EX_DATA_REG_ADDR, ex->data); in ex_handler_load_unaligned_zeropad()
91 regs->pc = get_ex_fixup(ex); in ex_handler_load_unaligned_zeropad()
97 const struct exception_table_entry *ex; in fixup_exception() local
99 ex = search_exception_tables(instruction_pointer(regs)); in fixup_exception()
100 if (!ex) in fixup_exception()
103 switch (ex->type) { in fixup_exception()
105 return ex_handler_bpf(ex, regs); in fixup_exception()
108 return ex_handler_uaccess_err_zero(ex, regs); in fixup_exception()
110 return ex_handler_uaccess_cpy(ex, regs, esr); in fixup_exception()
112 return ex_handler_load_unaligned_zeropad(ex, regs); in fixup_exception()