lkml.org 
[lkml]   [2021]   [Jun]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip: x86/fpu] x86/fpu: Rename fregs-related copy functions
    The following commit has been merged into the x86/fpu branch of tip:

    Commit-ID: 6fdc908cb56123591baa4259400cfb0787582b11
    Gitweb: https://git.kernel.org/tip/6fdc908cb56123591baa4259400cfb0787582b11
    Author: Thomas Gleixner <tglx@linutronix.de>
    AuthorDate: Wed, 23 Jun 2021 14:01:56 +02:00
    Committer: Borislav Petkov <bp@suse.de>
    CommitterDate: Wed, 23 Jun 2021 18:20:27 +02:00

    x86/fpu: Rename fregs-related copy functions

    The function names for fnsave/fnrstor operations are horribly named and
    a permanent source of confusion.

    Rename:
    copy_kernel_to_fregs() to frstor()
    copy_fregs_to_user() to fnsave_to_user_sigframe()
    copy_user_to_fregs() to frstor_from_user_sigframe()

    so it's clear what these are doing. All these functions are really low
    level wrappers around the equally named instructions, so mapping to the
    documentation is just natural.

    No functional change.

    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Borislav Petkov <bp@suse.de>
    Reviewed-by: Borislav Petkov <bp@suse.de>
    Link: https://lkml.kernel.org/r/20210623121454.223594101@linutronix.de
    ---
    arch/x86/include/asm/fpu/internal.h | 10 +++++-----
    arch/x86/kernel/fpu/core.c | 2 +-
    arch/x86/kernel/fpu/signal.c | 6 +++---
    3 files changed, 9 insertions(+), 9 deletions(-)

    diff --git a/arch/x86/include/asm/fpu/internal.h b/arch/x86/include/asm/fpu/internal.h
    index 7806f39..cd88233 100644
    --- a/arch/x86/include/asm/fpu/internal.h
    +++ b/arch/x86/include/asm/fpu/internal.h
    @@ -124,7 +124,7 @@ static inline void fpstate_init_soft(struct swregs_state *soft) {}
    _ASM_EXTABLE_HANDLE(1b, 2b, ex_handler_fprestore) \
    : output : input)

    -static inline int copy_fregs_to_user(struct fregs_state __user *fx)
    +static inline int fnsave_to_user_sigframe(struct fregs_state __user *fx)
    {
    return user_insn(fnsave %[fx]; fwait, [fx] "=m" (*fx), "m" (*fx));
    }
    @@ -162,17 +162,17 @@ static inline int fxrstor_from_user_sigframe(struct fxregs_state __user *fx)
    return user_insn(fxrstorq %[fx], "=m" (*fx), [fx] "m" (*fx));
    }

    -static inline void copy_kernel_to_fregs(struct fregs_state *fx)
    +static inline void frstor(struct fregs_state *fx)
    {
    kernel_insn(frstor %[fx], "=m" (*fx), [fx] "m" (*fx));
    }

    -static inline int copy_kernel_to_fregs_err(struct fregs_state *fx)
    +static inline int frstor_safe(struct fregs_state *fx)
    {
    return kernel_insn_err(frstor %[fx], "=m" (*fx), [fx] "m" (*fx));
    }

    -static inline int copy_user_to_fregs(struct fregs_state __user *fx)
    +static inline int frstor_from_user_sigframe(struct fregs_state __user *fx)
    {
    return user_insn(frstor %[fx], "=m" (*fx), [fx] "m" (*fx));
    }
    @@ -385,7 +385,7 @@ static inline void __copy_kernel_to_fpregs(union fpregs_state *fpstate, u64 mask
    if (use_fxsr())
    fxrstor(&fpstate->fxsave);
    else
    - copy_kernel_to_fregs(&fpstate->fsave);
    + frstor(&fpstate->fsave);
    }
    }

    diff --git a/arch/x86/kernel/fpu/core.c b/arch/x86/kernel/fpu/core.c
    index 035487d..1d25876 100644
    --- a/arch/x86/kernel/fpu/core.c
    +++ b/arch/x86/kernel/fpu/core.c
    @@ -318,7 +318,7 @@ static inline void copy_init_fpstate_to_fpregs(u64 features_mask)
    else if (use_fxsr())
    fxrstor(&init_fpstate.fxsave);
    else
    - copy_kernel_to_fregs(&init_fpstate.fsave);
    + frstor(&init_fpstate.fsave);

    if (boot_cpu_has(X86_FEATURE_OSPKE))
    copy_init_pkru_to_fpregs();
    diff --git a/arch/x86/kernel/fpu/signal.c b/arch/x86/kernel/fpu/signal.c
    index 05f8445..430c66d 100644
    --- a/arch/x86/kernel/fpu/signal.c
    +++ b/arch/x86/kernel/fpu/signal.c
    @@ -133,7 +133,7 @@ static inline int copy_fpregs_to_sigframe(struct xregs_state __user *buf)
    else if (use_fxsr())
    err = fxsave_to_user_sigframe((struct fxregs_state __user *) buf);
    else
    - err = copy_fregs_to_user((struct fregs_state __user *) buf);
    + err = fnsave_to_user_sigframe((struct fregs_state __user *) buf);

    if (unlikely(err) && __clear_user(buf, fpu_user_xstate_size))
    err = -EFAULT;
    @@ -274,7 +274,7 @@ static int copy_user_to_fpregs_zeroing(void __user *buf, u64 xbv, int fx_only)
    } else if (use_fxsr()) {
    return fxrstor_from_user_sigframe(buf);
    } else
    - return copy_user_to_fregs(buf);
    + return frstor_from_user_sigframe(buf);
    }

    static int __fpu__restore_sig(void __user *buf, void __user *buf_fx, int size)
    @@ -465,7 +465,7 @@ static int __fpu__restore_sig(void __user *buf, void __user *buf_fx, int size)
    goto out;

    fpregs_lock();
    - ret = copy_kernel_to_fregs_err(&fpu->state.fsave);
    + ret = frstor_safe(&fpu->state.fsave);
    }
    if (!ret)
    fpregs_mark_activate();
    \
     
     \ /
      Last update: 2021-06-24 00:12    [W:4.292 / U:0.376 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site