lkml.org 
[lkml]   [2020]   [Aug]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH 2/2] riscv: ptrace: Improve the style in NT_PRFPREG regset handling
From
On Thu, 23 Jul 2020 16:22:30 PDT (-0700), macro@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@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@google.com>

(Though the comments in the first patch apply here)

Thanks!

\
 
 \ /
  Last update: 2020-08-05 04:02    [W:0.399 / U:0.236 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site