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 xstate copy functions which are related to UABI
    The following commit has been merged into the x86/fpu branch of tip:

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

    x86/fpu: Rename xstate copy functions which are related to UABI

    Rename them to reflect that these functions deal with user space format
    XSAVE buffers.

    copy_kernel_to_xstate() -> copy_uabi_from_kernel_to_xstate()
    copy_user_to_xstate() -> copy_sigframe_from_user_to_xstate()

    Again a clear statement that these functions deal with user space ABI.

    Suggested-by: Andy Lutomirski <luto@kernel.org>
    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.318485015@linutronix.de
    ---
    arch/x86/include/asm/fpu/xstate.h | 4 ++--
    arch/x86/kernel/fpu/regset.c | 2 +-
    arch/x86/kernel/fpu/signal.c | 2 +-
    arch/x86/kernel/fpu/xstate.c | 5 +++--
    4 files changed, 7 insertions(+), 6 deletions(-)

    diff --git a/arch/x86/include/asm/fpu/xstate.h b/arch/x86/include/asm/fpu/xstate.h
    index 6611e06..00e1a2a 100644
    --- a/arch/x86/include/asm/fpu/xstate.h
    +++ b/arch/x86/include/asm/fpu/xstate.h
    @@ -102,8 +102,8 @@ extern void __init update_regset_xstate_info(unsigned int size,

    void *get_xsave_addr(struct xregs_state *xsave, int xfeature_nr);
    int xfeature_size(int xfeature_nr);
    -int copy_kernel_to_xstate(struct xregs_state *xsave, const void *kbuf);
    -int copy_user_to_xstate(struct xregs_state *xsave, const void __user *ubuf);
    +int copy_uabi_from_kernel_to_xstate(struct xregs_state *xsave, const void *kbuf);
    +int copy_sigframe_from_user_to_xstate(struct xregs_state *xsave, const void __user *ubuf);
    void copy_dynamic_supervisor_to_kernel(struct xregs_state *xstate, u64 mask);
    void copy_kernel_to_dynamic_supervisor(struct xregs_state *xstate, u64 mask);

    diff --git a/arch/x86/kernel/fpu/regset.c b/arch/x86/kernel/fpu/regset.c
    index ddc290d..892aec1 100644
    --- a/arch/x86/kernel/fpu/regset.c
    +++ b/arch/x86/kernel/fpu/regset.c
    @@ -166,7 +166,7 @@ int xstateregs_set(struct task_struct *target, const struct user_regset *regset,
    }

    fpu_force_restore(fpu);
    - ret = copy_kernel_to_xstate(&fpu->state.xsave, kbuf ?: tmpbuf);
    + ret = copy_uabi_from_kernel_to_xstate(&fpu->state.xsave, kbuf ?: tmpbuf);

    out:
    vfree(tmpbuf);
    diff --git a/arch/x86/kernel/fpu/signal.c b/arch/x86/kernel/fpu/signal.c
    index 430c66d..fd4b58d 100644
    --- a/arch/x86/kernel/fpu/signal.c
    +++ b/arch/x86/kernel/fpu/signal.c
    @@ -422,7 +422,7 @@ static int __fpu__restore_sig(void __user *buf, void __user *buf_fx, int size)
    if (use_xsave() && !fx_only) {
    u64 init_bv = xfeatures_mask_user() & ~user_xfeatures;

    - ret = copy_user_to_xstate(&fpu->state.xsave, buf_fx);
    + ret = copy_sigframe_from_user_to_xstate(&fpu->state.xsave, buf_fx);
    if (ret)
    goto out;

    diff --git a/arch/x86/kernel/fpu/xstate.c b/arch/x86/kernel/fpu/xstate.c
    index 4fca8a8..57674f8 100644
    --- a/arch/x86/kernel/fpu/xstate.c
    +++ b/arch/x86/kernel/fpu/xstate.c
    @@ -1099,7 +1099,7 @@ static inline bool mxcsr_valid(struct xstate_header *hdr, const u32 *mxcsr)
    * Convert from a ptrace standard-format kernel buffer to kernel XSAVE[S] format
    * and copy to the target thread. This is called from xstateregs_set().
    */
    -int copy_kernel_to_xstate(struct xregs_state *xsave, const void *kbuf)
    +int copy_uabi_from_kernel_to_xstate(struct xregs_state *xsave, const void *kbuf)
    {
    unsigned int offset, size;
    int i;
    @@ -1154,7 +1154,8 @@ int copy_kernel_to_xstate(struct xregs_state *xsave, const void *kbuf)
    * XSAVE[S] format and copy to the target thread. This is called from the
    * sigreturn() and rt_sigreturn() system calls.
    */
    -int copy_user_to_xstate(struct xregs_state *xsave, const void __user *ubuf)
    +int copy_sigframe_from_user_to_xstate(struct xregs_state *xsave,
    + const void __user *ubuf)
    {
    unsigned int offset, size;
    int i;
    \
     
     \ /
      Last update: 2021-06-24 00:12    [W:4.320 / U:0.160 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site