diff options
author | 2025-06-02 21:39:15 +0200 | |
---|---|---|
committer | 2025-06-05 11:39:16 -0700 | |
commit | 020667d661f9be65167174d28a6eda7102f7293f (patch) | |
tree | c7a420e96a40404c9303cb41a2b6acfd4761a0d0 /arch | |
parent | riscv: make unsafe user copy routines use existing assembly routines (diff) | |
download | linux-rng-020667d661f9be65167174d28a6eda7102f7293f.tar.xz linux-rng-020667d661f9be65167174d28a6eda7102f7293f.zip |
riscv: process: use unsigned int instead of unsigned long for put_user()
The specification of prctl() for GET_UNALIGN_CTL states that the value is
returned in an unsigned int * address passed as an unsigned long. Change
the type to match that and avoid an unaligned access as well.
Signed-off-by: Clément Léger <cleger@rivosinc.com>
Reviewed-by: Alexandre Ghiti <alexghiti@rivosinc.com>
Link: https://lore.kernel.org/r/20250602193918.868962-3-cleger@rivosinc.com
Signed-off-by: Palmer Dabbelt <palmer@dabbelt.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/riscv/kernel/process.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/riscv/kernel/process.c b/arch/riscv/kernel/process.c index 7c244de77180..fe10e326f44e 100644 --- a/arch/riscv/kernel/process.c +++ b/arch/riscv/kernel/process.c @@ -57,7 +57,7 @@ int get_unalign_ctl(struct task_struct *tsk, unsigned long adr) if (!unaligned_ctl_available()) return -EINVAL; - return put_user(tsk->thread.align_ctl, (unsigned long __user *)adr); + return put_user(tsk->thread.align_ctl, (unsigned int __user *)adr); } void __show_regs(struct pt_regs *regs) |