lkml.org 
[lkml]   [2018]   [Mar]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] crypto: ccp: Use memdup_user() rather than duplicating its implementation
    Date
    From: Markus Elfring <elfring@users.sourceforge.net>
    Date: Mon, 5 Mar 2018 13:50:13 +0100

    Reuse existing functionality from memdup_user() instead of keeping
    duplicate source code.

    This issue was detected by using the Coccinelle software.

    Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
    ---
    drivers/crypto/ccp/psp-dev.c | 15 +--------------
    1 file changed, 1 insertion(+), 14 deletions(-)

    diff --git a/drivers/crypto/ccp/psp-dev.c b/drivers/crypto/ccp/psp-dev.c
    index fcfa5b1eae61..8255258cd040 100644
    --- a/drivers/crypto/ccp/psp-dev.c
    +++ b/drivers/crypto/ccp/psp-dev.c
    @@ -367,8 +367,6 @@ static int sev_ioctl_do_pek_csr(struct sev_issue_cmd *argp)

    void *psp_copy_user_blob(u64 __user uaddr, u32 len)
    {
    - void *data;
    -
    if (!uaddr || !len)
    return ERR_PTR(-EINVAL);

    @@ -376,18 +374,7 @@ void *psp_copy_user_blob(u64 __user uaddr, u32 len)
    if (len > SEV_FW_BLOB_MAX_SIZE)
    return ERR_PTR(-EINVAL);

    - data = kmalloc(len, GFP_KERNEL);
    - if (!data)
    - return ERR_PTR(-ENOMEM);
    -
    - if (copy_from_user(data, (void __user *)(uintptr_t)uaddr, len))
    - goto e_free;
    -
    - return data;
    -
    -e_free:
    - kfree(data);
    - return ERR_PTR(-EFAULT);
    + return memdup_user((void __user *)(uintptr_t)uaddr, len);
    }
    EXPORT_SYMBOL_GPL(psp_copy_user_blob);

    --
    2.16.2
    \
     
     \ /
      Last update: 2018-03-05 14:11    [W:3.914 / U:0.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site