extable.c (48ee4835b73c48590d05a54730dc8037ebd39d3b) extable.c (3758a6c74e08bdc15ccccd6872a6ad37d165239a)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Based on arch/arm/mm/extable.c
4 */
5
6#include <linux/bitfield.h>
7#include <linux/extable.h>
8#include <linux/uaccess.h>

--- 26 unchanged lines hidden (view full) ---

35 regs->pc = get_ex_fixup(ex);
36 return true;
37}
38
39static bool
40ex_handler_load_unaligned_zeropad(const struct exception_table_entry *ex,
41 struct pt_regs *regs)
42{
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Based on arch/arm/mm/extable.c
4 */
5
6#include <linux/bitfield.h>
7#include <linux/extable.h>
8#include <linux/uaccess.h>

--- 26 unchanged lines hidden (view full) ---

35 regs->pc = get_ex_fixup(ex);
36 return true;
37}
38
39static bool
40ex_handler_load_unaligned_zeropad(const struct exception_table_entry *ex,
41 struct pt_regs *regs)
42{
43 int reg_data = FIELD_GET(EX_DATA_REG_DATA, ex->type);
44 int reg_addr = FIELD_GET(EX_DATA_REG_ADDR, ex->type);
43 int reg_data = FIELD_GET(EX_DATA_REG_DATA, ex->data);
44 int reg_addr = FIELD_GET(EX_DATA_REG_ADDR, ex->data);
45 unsigned long data, addr, offset;
46
47 addr = pt_regs_read_reg(regs, reg_addr);
48
49 offset = addr & 0x7UL;
50 addr &= ~0x7UL;
51
52 data = *(unsigned long*)addr;

--- 34 unchanged lines hidden ---
45 unsigned long data, addr, offset;
46
47 addr = pt_regs_read_reg(regs, reg_addr);
48
49 offset = addr & 0x7UL;
50 addr &= ~0x7UL;
51
52 data = *(unsigned long*)addr;

--- 34 unchanged lines hidden ---