Skip to content

Commit a860101

Browse files
Jean-Philippe Bruckergregkh
authored andcommitted
arm64: insn: Fix ldadd instruction encoding
commit c5e2ede upstream. GCC 8.1.0 reports that the ldadd instruction encoding, recently added to insn.c, doesn't match the mask and couldn't possibly be identified: linux/arch/arm64/include/asm/insn.h: In function 'aarch64_insn_is_ldadd': linux/arch/arm64/include/asm/insn.h:280:257: warning: bitwise comparison always evaluates to false [-Wtautological-compare] Bits [31:30] normally encode the size of the instruction (1 to 8 bytes) and the current instruction value only encodes the 4- and 8-byte variants. At the moment only the BPF JIT needs this instruction, and doesn't require the 1- and 2-byte variants, but to be consistent with our other ldr and str instruction encodings, clear the size field in the insn value. Fixes: 34b8ab0 ("bpf, arm64: use more scalable stadd over ldxr / stxr loop in xadd") Acked-by: Daniel Borkmann <[email protected]> Reported-by: Kuninori Morimoto <[email protected]> Signed-off-by: Yoshihiro Shimoda <[email protected]> Signed-off-by: Jean-Philippe Brucker <[email protected]> Signed-off-by: Will Deacon <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent 1688b6a commit a860101

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

arch/arm64/include/asm/insn.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ __AARCH64_INSN_FUNCS(adrp, 0x9F000000, 0x90000000)
271271
__AARCH64_INSN_FUNCS(prfm, 0x3FC00000, 0x39800000)
272272
__AARCH64_INSN_FUNCS(prfm_lit, 0xFF000000, 0xD8000000)
273273
__AARCH64_INSN_FUNCS(str_reg, 0x3FE0EC00, 0x38206800)
274-
__AARCH64_INSN_FUNCS(ldadd, 0x3F20FC00, 0xB8200000)
274+
__AARCH64_INSN_FUNCS(ldadd, 0x3F20FC00, 0x38200000)
275275
__AARCH64_INSN_FUNCS(ldr_reg, 0x3FE0EC00, 0x38606800)
276276
__AARCH64_INSN_FUNCS(ldr_lit, 0xBF000000, 0x18000000)
277277
__AARCH64_INSN_FUNCS(ldrsw_lit, 0xFF000000, 0x98000000)

0 commit comments

Comments
 (0)