All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] wan-cosa: Use memdup_user() rather than duplicating its implementation
@ 2016-08-20  8:25 ` SF Markus Elfring
  0 siblings, 0 replies; 11+ messages in thread
From: SF Markus Elfring @ 2016-08-20  8:25 UTC (permalink / raw)
  To: netdev, Jan Kasprzak; +Cc: LKML, kernel-janitors, Julia Lawall, Nicolas Palix

From: Markus Elfring <elfring@users.sourceforge.net>
Date: Sat, 20 Aug 2016 10:10:12 +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/net/wan/cosa.c | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/drivers/net/wan/cosa.c b/drivers/net/wan/cosa.c
index b87fe0a..02f5809 100644
--- a/drivers/net/wan/cosa.c
+++ b/drivers/net/wan/cosa.c
@@ -875,16 +875,10 @@ static ssize_t cosa_write(struct file *file,
 	if (count > COSA_MTU)
 		count = COSA_MTU;
 	
-	/* Allocate the buffer */
-	kbuf = kmalloc(count, GFP_KERNEL|GFP_DMA);
-	if (kbuf == NULL) {
+	kbuf = memdup_user(buf, count);
+	if (IS_ERR(kbuf)) {
 		up(&chan->wsem);
-		return -ENOMEM;
-	}
-	if (copy_from_user(kbuf, buf, count)) {
-		up(&chan->wsem);
-		kfree(kbuf);
-		return -EFAULT;
+		return PTR_ERR(kbuf);
 	}
 	chan->tx_status=0;
 	cosa_start_tx(chan, kbuf, count);
-- 
2.9.3

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

end of thread, other threads:[~2016-08-25  9:14 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-20  8:25 [PATCH] wan-cosa: Use memdup_user() rather than duplicating its implementation SF Markus Elfring
2016-08-20  8:25 ` SF Markus Elfring
2016-08-20  8:42 ` Christophe JAILLET
2016-08-21  2:12   ` David Miller
2016-08-21  2:12     ` David Miller
2016-08-24 15:21 ` Jan Kasprzak
2016-08-24 15:21   ` Jan Kasprzak
2016-08-24 16:14   ` SF Markus Elfring
2016-08-24 16:14     ` SF Markus Elfring
2016-08-25  9:13     ` Jan Kasprzak
2016-08-25  9:13       ` Jan Kasprzak

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.