Hello Masami Hiramatsu (Google), Commit 25f00e40ce79 ("tracing/probes: Support $argN in return probe (kprobe and fprobe)") from Mar 4, 2024 (linux-next), leads to the following Smatch static checker warning:
kernel/trace/trace_probe.c:856 store_trace_entry_data() error: uninitialized symbol 'val'. kernel/trace/trace_probe.c 846 return; 847 848 for (i = 0; i < earg->size; i++) { 849 struct fetch_insn *code = &earg->code[i]; 850 851 switch (code->op) { 852 case FETCH_OP_ARG: 853 val = regs_get_kernel_argument(regs, code->param); 854 break; 855 case FETCH_OP_ST_EDATA: --> 856 *(unsigned long *)((unsigned long)edata + code->offset) = val; Probably the earg->code[i] always has FETCH_OP_ARG before FETCH_OP_ST_EDATA but Smatch isn't smart enough to figure that out... 857 break; 858 case FETCH_OP_END: 859 goto end; 860 default: 861 break; 862 } 863 } 864 end: 865 return; 866 } regards, dan carpenter