drm/nouveau: switch over to vmemdup_user()

2023-08-11 Thread Atul Raut
Use vmemdup_user() rather than duplicating its implementation.

This patch fixes the following Coccinelle warning:
./drivers/gpu/drm/nouveau/nouveau_gem.c:630:7-15: WARNING opportunity for 
vmemdup_user

Signed-off-by: Atul Raut 
---
 drivers/gpu/drm/nouveau/nouveau_gem.c | 9 ++---
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/nouveau_gem.c 
b/drivers/gpu/drm/nouveau/nouveau_gem.c
index ab9062e50977..a244b39df213 100644
--- a/drivers/gpu/drm/nouveau/nouveau_gem.c
+++ b/drivers/gpu/drm/nouveau/nouveau_gem.c
@@ -627,15 +627,10 @@ u_memcpya(uint64_t user, unsigned nmemb, unsigned size)
 
size *= nmemb;
 
-   mem = kvmalloc(size, GFP_KERNEL);
-   if (!mem)
+   mem = vmemdup_user(userptr, size);
+   if (IS_ERR(mem))
return ERR_PTR(-ENOMEM);
 
-   if (copy_from_user(mem, userptr, size)) {
-   u_free(mem);
-   return ERR_PTR(-EFAULT);
-   }
-
return mem;
 }
 
-- 
2.34.1



[PATCH V2] gpu: drm: nouveau: switch over to vmemdup_user()

2021-10-18 Thread Qing Wang
This patch fixes the following Coccinelle warning:

drivers/gpu/drm/nouveau/nouveau_gem.c:630: WARNING opportunity for vmemdup_user

Use vmemdup_user rather than duplicating its implementation
This is a little bit restricted to reduce false positives

Signed-off-by: Qing Wang 
---
 drivers/gpu/drm/nouveau/nouveau_gem.c | 11 +++
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/nouveau_gem.c 
b/drivers/gpu/drm/nouveau/nouveau_gem.c
index 8c2ecc2..3fc6959
--- a/drivers/gpu/drm/nouveau/nouveau_gem.c
+++ b/drivers/gpu/drm/nouveau/nouveau_gem.c
@@ -627,14 +627,9 @@ u_memcpya(uint64_t user, unsigned nmemb, unsigned size)
 
size *= nmemb;
 
-   mem = kvmalloc(size, GFP_KERNEL);
-   if (!mem)
-   return ERR_PTR(-ENOMEM);
-
-   if (copy_from_user(mem, userptr, size)) {
-   u_free(mem);
-   return ERR_PTR(-EFAULT);
-   }
+   mem = vmemdup_user(userptr, size);
+   if (IS_ERR(mem))
+   return ERR_CAST(mem);
 
return mem;
 }
-- 
2.7.4



[PATCH] gpu: drm: nouveau: switch over to vmemdup_user()

2021-10-18 Thread Qing Wang
This patch fixes the following Coccinelle warning:

drivers/gpu/drm/nouveau/nouveau_gem.c:630: WARNING opportunity for vmemdup_user

Use vmemdup_user rather than duplicating its implementation
This is a little bit restricted to reduce false positives

Signed-off-by: Qing Wang 
---
 drivers/gpu/drm/nouveau/nouveau_gem.c | 11 +++
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/nouveau_gem.c 
b/drivers/gpu/drm/nouveau/nouveau_gem.c
index 8c2ecc2..3fc6959
--- a/drivers/gpu/drm/nouveau/nouveau_gem.c
+++ b/drivers/gpu/drm/nouveau/nouveau_gem.c
@@ -627,14 +627,9 @@ u_memcpya(uint64_t user, unsigned nmemb, unsigned size)
 
size *= nmemb;
 
-   mem = kvmalloc(size, GFP_KERNEL);
-   if (!mem)
-   return ERR_PTR(-ENOMEM);
-
-   if (copy_from_user(mem, userptr, size)) {
-   u_free(mem);
-   return ERR_PTR(-EFAULT);
-   }
+   mem = vmemdup_user(userptr, size);
+   if (IS_ERR(mem))
+   return ERR_PTR(PTR_ERR(mem));
 
return mem;
 }
-- 
2.7.4