From 78d252c935c9c54742443e871b7b39204ecb7a01 Mon Sep 17 00:00:00 2001 From: "Masami Hiramatsu (Google)" Date: Mon, 20 Jul 2026 19:44:16 +0900 Subject: [PATCH] tracing/probes: Cleanup pointer arithmetic in store_trace_entry_data() In store_trace_entry_data(), edata is cast to unsigned long for pointer offset arithmetic before being cast back to unsigned long *. Cast edata to u8 * instead. Link: https://lore.kernel.org/all/178454425622.296567.16952341966130280432.stgit@devnote2/ Assisted-by: Antigravity:gemini-3.5-flash Signed-off-by: Masami Hiramatsu (Google) --- kernel/trace/trace_probe.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/trace/trace_probe.c b/kernel/trace/trace_probe.c index eb7be3725e85..4899aa5f9230 100644 --- a/kernel/trace/trace_probe.c +++ b/kernel/trace/trace_probe.c @@ -1246,7 +1246,7 @@ void store_trace_entry_data(void *edata, struct trace_probe *tp, struct pt_regs val = regs_get_kernel_argument(regs, code->param); break; case FETCH_OP_ST_EDATA: - *(unsigned long *)((unsigned long)edata + code->offset) = val; + *(unsigned long *)((u8 *)edata + code->offset) = val; break; case FETCH_OP_END: goto end;