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 --- |