Skip to content

Commit ef08c0f

Browse files
junhua huangwilldeacon
junhua huang
authored andcommitted
arm64/uprobes: change the uprobe_opcode_t typedef to fix the sparse warning
After we fixed the uprobe inst endian in aarch_be, the sparse check report the following warning info: sparse warnings: (new ones prefixed by >>) >> kernel/events/uprobes.c:223:25: sparse: sparse: restricted __le32 degrades to integer >> kernel/events/uprobes.c:574:56: sparse: sparse: incorrect type in argument 4 (different base types) @@ expected unsigned int [addressable] [usertype] opcode @@ got restricted __le32 [usertype] @@ kernel/events/uprobes.c:574:56: sparse: expected unsigned int [addressable] [usertype] opcode kernel/events/uprobes.c:574:56: sparse: got restricted __le32 [usertype] >> kernel/events/uprobes.c:1483:32: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned int [usertype] insn @@ got restricted __le32 [usertype] @@ kernel/events/uprobes.c:1483:32: sparse: expected unsigned int [usertype] insn kernel/events/uprobes.c:1483:32: sparse: got restricted __le32 [usertype] use the __le32 to u32 for uprobe_opcode_t, to keep the same. Fixes: 60f07e2 ("arm64:uprobe fix the uprobe SWBP_INSN in big-endian") Reported-by: kernel test robot <[email protected]> Signed-off-by: junhua huang <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Will Deacon <[email protected]>
1 parent 4f4c549 commit ef08c0f

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

arch/arm64/include/asm/uprobes.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
#define UPROBE_SWBP_INSN_SIZE AARCH64_INSN_SIZE
1717
#define UPROBE_XOL_SLOT_BYTES MAX_UINSN_BYTES
1818

19-
typedef u32 uprobe_opcode_t;
19+
typedef __le32 uprobe_opcode_t;
2020

2121
struct arch_uprobe_task {
2222
};

0 commit comments

Comments
 (0)