diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71-e3000/0037-crypto-ccp-Use-memdup_user-rather-than-duplicating-i.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71-e3000/0037-crypto-ccp-Use-memdup_user-rather-than-duplicating-i.patch | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71-e3000/0037-crypto-ccp-Use-memdup_user-rather-than-duplicating-i.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71-e3000/0037-crypto-ccp-Use-memdup_user-rather-than-duplicating-i.patch new file mode 100644 index 00000000..e3db1f08 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71-e3000/0037-crypto-ccp-Use-memdup_user-rather-than-duplicating-i.patch @@ -0,0 +1,56 @@ +From c1255479db311904c69b38aaa83c8c1de96b29c9 Mon Sep 17 00:00:00 2001 +From: Markus Elfring <elfring@users.sourceforge.net> +Date: Mon, 5 Mar 2018 13:50:13 +0100 +Subject: [PATCH 37/95] crypto: ccp - Use memdup_user() rather than duplicating + its implementation + +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> +Reviewed-by: Brijesh Singh <brijesh.singh@amd.com> +Acked-by: Gary R Hook <gary.hook@amd.com> +Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> +Signed-off-by: Sudheesh Mavila <sudheesh.mavila@amd.com> +--- + 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 b3afb6c..d95ec52 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.7.4 + |