crypto: ccp: Use memdup_user() rather than duplicating its implementation
PATCH 1/1 crypto: ccp: Use memdup_user() rather than duplicating its implementation
From: Markus Elfring <[email protected]>
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.
--- drivers/crypto/ccp/psp-dev.c | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-)
drivers/crypto/ccp/psp-dev.c +1 -14
@@ -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);
Signature · 1 line
2.16.2
Quoted 6 lines · SF Markus Elfring
From: Markus Elfring <[email protected]>
Date: Mon, 5 Mar 2018 13:50:13 +0100Reuse existing functionality from
memdup_user()instead of keeping duplicate source code.
Quoted 6 lines
This issue was detected by using the Coccinelle software.
Signed-off-by Markus Elfring <[email protected]>--- drivers/crypto/ccp/psp-dev.c | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-)
thanks
Quoted 33 lines
drivers/crypto/ccp/psp-dev.c +1
-14@@ -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);
Quoted 9 lines · SF Markus Elfring
From: Markus Elfring <[email protected]>
Date: Mon, 5 Mar 2018 13:50:13 +0100Reuse 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 <[email protected]>
Quoted 38 lines
--- drivers/crypto/ccp/psp-dev.c | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-)drivers/crypto/ccp/psp-dev.c +1
-14@@ -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);
Herbert Xu
maintainerQuoted 9 lines · SF Markus Elfring
From: Markus Elfring <[email protected]>
Date: Mon, 5 Mar 2018 13:50:13 +0100Reuse 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 <[email protected]>
Patch applied. Thanks.
Signature · 3 lines
Email: Herbert Xu <[email protected]> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt