mbox series

[v3,0/2] riscv: switch to relative extable

Message ID 20211022001957.1eba8f04@xhacker (mailing list archive)
Headers show
Series riscv: switch to relative extable | expand

Message

Jisheng Zhang Oct. 21, 2021, 4:19 p.m. UTC
From: Jisheng Zhang <jszhang@kernel.org>

Similar as other architectures such as arm64, x86 and so on, use
offsets relative to the exception table entry values rather than
absolute addresses for both the exception locationand the fixup.

patch1 consolidates the __ex_table construction, it's a great code
clean up even w/o the 2nd patch.

patch2 does the real job.

Since v2:
  - directly check R_RISCV_SUB32 in __ex_table instead of adding
    addend_riscv_rela()

Since v1:
  - fix build error for NOMMU case, thank lkp@intel.com


Jisheng Zhang (2):
  riscv: consolidate __ex_table construction
  riscv: switch to relative exception tables

 arch/riscv/include/asm/Kbuild    |  1 -
 arch/riscv/include/asm/extable.h | 25 ++++++++++++++++++++
 arch/riscv/include/asm/futex.h   | 12 +++-------
 arch/riscv/include/asm/uaccess.h | 40 +++++++++++---------------------
 arch/riscv/lib/uaccess.S         |  4 ++--
 arch/riscv/mm/extable.c          |  2 +-
 scripts/mod/modpost.c            | 15 ++++++++++++
 scripts/sorttable.c              |  2 +-
 8 files changed, 61 insertions(+), 40 deletions(-)
 create mode 100644 arch/riscv/include/asm/extable.h

Comments

Kefeng Wang Oct. 22, 2021, 12:46 a.m. UTC | #1
On 2021/10/22 0:19, Jisheng Zhang wrote:
> From: Jisheng Zhang <jszhang@kernel.org>
> 
> Similar as other architectures such as arm64, x86 and so on, use
> offsets relative to the exception table entry values rather than
> absolute addresses for both the exception locationand the fixup.
> 
> patch1 consolidates the __ex_table construction, it's a great code
> clean up even w/o the 2nd patch.
> 
> patch2 does the real job.

Reviewed-by: Kefeng Wang <wangkefeng.wang@huawei.com>