summaryrefslogtreecommitdiff
path: root/arch/loongarch/include/asm/module.h
diff options
context:
space:
mode:
authorWANG Rui <wangrui@loongson.cn>2023-06-29 20:58:42 +0800
committerHuacai Chen <chenhuacai@loongson.cn>2023-06-29 20:58:42 +0800
commit0d03e9dce5c91d841a35af05ca61a5cf318f5064 (patch)
tree24f8cd43a83332492c776c5928fc2956c970f87c /arch/loongarch/include/asm/module.h
parentd7c24960975b02211c53afe97c36acde5c8ff933 (diff)
LoongArch: Add guard for the larch_insn_gen_xxx functions
Add guard for the larch_insn_gen_xxx functions to verify whether the immediate operand is within the acceptable range. Signed-off-by: WANG Rui <wangrui@loongson.cn> Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
Diffstat (limited to 'arch/loongarch/include/asm/module.h')
-rw-r--r--arch/loongarch/include/asm/module.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/loongarch/include/asm/module.h b/arch/loongarch/include/asm/module.h
index 12a0f1e66916..2ecd82bb64e1 100644
--- a/arch/loongarch/include/asm/module.h
+++ b/arch/loongarch/include/asm/module.h
@@ -55,7 +55,7 @@ static inline struct plt_entry emit_plt_entry(unsigned long val)
lu12iw = larch_insn_gen_lu12iw(LOONGARCH_GPR_T1, ADDR_IMM(val, LU12IW));
lu32id = larch_insn_gen_lu32id(LOONGARCH_GPR_T1, ADDR_IMM(val, LU32ID));
lu52id = larch_insn_gen_lu52id(LOONGARCH_GPR_T1, LOONGARCH_GPR_T1, ADDR_IMM(val, LU52ID));
- jirl = larch_insn_gen_jirl(0, LOONGARCH_GPR_T1, 0, (val & 0xfff));
+ jirl = larch_insn_gen_jirl(0, LOONGARCH_GPR_T1, ADDR_IMM(val, ORI));
return (struct plt_entry) { lu12iw, lu32id, lu52id, jirl };
}