[PATCH 2/2] riscv: ptrace: Improve the style in NT_PRFPREG regset handling
Palmer Dabbelt
palmer at dabbelt.com
Tue Aug 4 22:01:02 EDT 2020
On Thu, 23 Jul 2020 16:22:30 PDT (-0700), macro at wdc.com wrote:
> Use an auxiliary variable for the size taken by floating point general
> registers in `struct __riscv_d_ext_state' to improve the readability of
> code in the `riscv_fpr_get' and `riscv_fpr_set' handlers, by avoiding
> excessive line wrapping and extending beyond 80 columns. Also shuffle
> local variables in the reverse Christmas tree order. No functional
> change.
>
> Signed-off-by: Maciej W. Rozycki <macro at wdc.com>
> ---
> arch/riscv/kernel/ptrace.c | 24 ++++++++++--------------
> 1 file changed, 10 insertions(+), 14 deletions(-)
>
> linux-riscv-ptrace-fpr-style.diff
> Index: linux-hv/arch/riscv/kernel/ptrace.c
> ===================================================================
> --- linux-hv.orig/arch/riscv/kernel/ptrace.c
> +++ linux-hv/arch/riscv/kernel/ptrace.c
> @@ -58,18 +58,16 @@ static int riscv_fpr_get(struct task_str
> unsigned int pos, unsigned int count,
> void *kbuf, void __user *ubuf)
> {
> - int ret;
> + const size_t fgr_size = offsetof(struct __riscv_d_ext_state, fcsr);
> struct __riscv_d_ext_state *fstate = &target->thread.fstate;
> + int ret;
>
> ret = user_regset_copyout(&pos, &count, &kbuf, &ubuf, &fstate->f, 0,
> - offsetof(struct __riscv_d_ext_state, fcsr));
> + fgr_size);
> if (!ret) {
> ret = user_regset_copyout(&pos, &count, &kbuf, &ubuf,
> - &fstate->fcsr,
> - offsetof(struct __riscv_d_ext_state,
> - fcsr),
> - offsetof(struct __riscv_d_ext_state, fcsr) +
> - sizeof(fstate->fcsr));
> + &fstate->fcsr, fgr_size,
> + fgr_size + sizeof(fstate->fcsr));
> }
>
> return ret;
> @@ -80,18 +78,16 @@ static int riscv_fpr_set(struct task_str
> unsigned int pos, unsigned int count,
> const void *kbuf, const void __user *ubuf)
> {
> - int ret;
> + const size_t fgr_size = offsetof(struct __riscv_d_ext_state, fcsr);
> struct __riscv_d_ext_state *fstate = &target->thread.fstate;
> + int ret;
>
> ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf, &fstate->f, 0,
> - offsetof(struct __riscv_d_ext_state, fcsr));
> + fgr_size);
> if (!ret) {
> ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf,
> - &fstate->fcsr,
> - offsetof(struct __riscv_d_ext_state,
> - fcsr),
> - offsetof(struct __riscv_d_ext_state, fcsr) +
> - sizeof(fstate->fcsr));
> + &fstate->fcsr, fgr_size,
> + fgr_size + sizeof(fstate->fcsr));
> }
>
> return ret;
Reviewed-by: Palmer Dabbelt <palmerdabbelt at google.com>
(Though the comments in the first patch apply here)
Thanks!
More information about the linux-riscv
mailing list