[PATCH v2 2/3] riscv: process: use unsigned int instead of unsigned long for put_user()
Alexandre Ghiti
alex at ghiti.fr
Wed Jun 4 04:55:27 PDT 2025
Hi Clément,
On 6/2/25 21:39, Clément Léger wrote:
> 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 at rivosinc.com>
> ---
> arch/riscv/kernel/process.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/riscv/kernel/process.c b/arch/riscv/kernel/process.c
> index 15d8f75902f8..9ee6d816b98b 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)
Reviewed-by: Alexandre Ghiti <alexghiti at rivosinc.com>
Thanks,
Alex
More information about the linux-riscv
mailing list