mirror of
https://github.com/torvalds/linux.git
synced 2025-08-15 14:11:42 +02:00
riscv: tracing: Fix __write_overflow_field in ftrace_partial_regs()
The size of ®s->a0 is unknown, causing the error: ../include/linux/fortify-string.h:571:25: warning: call to '__write_overflow_field' declared with attribute warning: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Wattribute-warning] Fix this by wrapping the required registers in pt_regs with struct_group() and reference the group when doing the offending memcpy(). Signed-off-by: Charlie Jenkins <charlie@rivosinc.com> Reviewed-by: Alexandre Ghiti <alexghiti@rivosinc.com> Tested-by: Alexandre Ghiti <alexghiti@rivosinc.com> Link: https://lore.kernel.org/r/20250224-fix_ftrace_partial_regs-v1-1-54b906417e86@rivosinc.com Signed-off-by: Alexandre Ghiti <alexghiti@rivosinc.com>
This commit is contained in:
parent
72770690e0
commit
bba547810c
2 changed files with 11 additions and 9 deletions
|
@ -207,7 +207,7 @@ ftrace_partial_regs(const struct ftrace_regs *fregs, struct pt_regs *regs)
|
|||
{
|
||||
struct __arch_ftrace_regs *afregs = arch_ftrace_regs(fregs);
|
||||
|
||||
memcpy(®s->a0, afregs->args, sizeof(afregs->args));
|
||||
memcpy(®s->a_regs, afregs->args, sizeof(afregs->args));
|
||||
regs->epc = afregs->epc;
|
||||
regs->ra = afregs->ra;
|
||||
regs->sp = afregs->sp;
|
||||
|
|
|
@ -23,14 +23,16 @@ struct pt_regs {
|
|||
unsigned long t2;
|
||||
unsigned long s0;
|
||||
unsigned long s1;
|
||||
unsigned long a0;
|
||||
unsigned long a1;
|
||||
unsigned long a2;
|
||||
unsigned long a3;
|
||||
unsigned long a4;
|
||||
unsigned long a5;
|
||||
unsigned long a6;
|
||||
unsigned long a7;
|
||||
struct_group(a_regs,
|
||||
unsigned long a0;
|
||||
unsigned long a1;
|
||||
unsigned long a2;
|
||||
unsigned long a3;
|
||||
unsigned long a4;
|
||||
unsigned long a5;
|
||||
unsigned long a6;
|
||||
unsigned long a7;
|
||||
);
|
||||
unsigned long s2;
|
||||
unsigned long s3;
|
||||
unsigned long s4;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue