public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] IB/qib: Use memdup_user() rather than duplicating its implementation
@ 2016-08-19  7:06 SF Markus Elfring
  2016-08-19 15:27 ` Marciniszyn, Mike
  2016-08-19 15:37 ` Leon Romanovsky
  0 siblings, 2 replies; 7+ messages in thread
From: SF Markus Elfring @ 2016-08-19  7:06 UTC (permalink / raw)
  To: linux-rdma, Doug Ledford, Hal Rosenstock, Mike Marciniszyn,
	Sean Hefty
  Cc: LKML, kernel-janitors, Julia Lawall

From: Markus Elfring <elfring@users.sourceforge.net>
Date: Fri, 19 Aug 2016 08:50:23 +0200

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/infiniband/hw/qib/qib_fs.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/drivers/infiniband/hw/qib/qib_fs.c b/drivers/infiniband/hw/qib/qib_fs.c
index fcdf3791..910f0d9 100644
--- a/drivers/infiniband/hw/qib/qib_fs.c
+++ b/drivers/infiniband/hw/qib/qib_fs.c
@@ -338,17 +338,12 @@ static ssize_t flash_write(struct file *file, const char __user *buf,
 		goto bail;
 	}
 
-	tmp = kmalloc(count, GFP_KERNEL);
-	if (!tmp) {
-		ret = -ENOMEM;
+	tmp = memdup_user(buf, count);
+	if (IS_ERR(tmp)) {
+		ret = PTR_ERR(tmp);
 		goto bail;
 	}
 
-	if (copy_from_user(tmp, buf, count)) {
-		ret = -EFAULT;
-		goto bail_tmp;
-	}
-
 	dd = private2dd(file);
 	if (qib_eeprom_write(dd, pos, tmp, count)) {
 		ret = -ENXIO;
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2016-08-23 16:43 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-19  7:06 [PATCH] IB/qib: Use memdup_user() rather than duplicating its implementation SF Markus Elfring
2016-08-19 15:27 ` Marciniszyn, Mike
2016-08-19 15:41   ` Leon Romanovsky
2016-08-19 15:42     ` Marciniszyn, Mike
2016-08-19 15:45       ` Leon Romanovsky
2016-08-23 16:43   ` Doug Ledford
2016-08-19 15:37 ` Leon Romanovsky

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox