public inbox for kernel-janitors@vger.kernel.org
 help / color / mirror / Atom feed
From: Jan Kasprzak <kas@fi.muni.cz>
To: SF Markus Elfring <elfring@users.sourceforge.net>
Cc: netdev@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	kernel-janitors@vger.kernel.org,
	Julia Lawall <julia.lawall@lip6.fr>,
	Nicolas Palix <nicolas.palix@imag.fr>
Subject: Re: [PATCH] wan-cosa: Use memdup_user() rather than duplicating its implementation
Date: Wed, 24 Aug 2016 15:21:54 +0000	[thread overview]
Message-ID: <20160824152154.GT10241@fi.muni.cz> (raw)
In-Reply-To: <5d335025-5f52-d4b6-0b60-89a2fd354694@users.sourceforge.net>

	Hello,

SF Markus Elfring wrote:
: 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.

	What about the GFP_DMA attribute, which your patch deletes?
The buffer in question has to be ISA DMA-able.

	Anyway, COSA is an ancient ISA device, which is out of production
for at least 10 years. I don't have a box with ISA bus anymore, so I can't
even test the modifications of the wan/cosa.c (I do have a COSA board
itself, though :-).

	I suggest keeping the driver intact if possible, in case somebody
still uses it.

	Sincerely,

-Yenya

: 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

-- 
| Jan "Yenya" Kasprzak <kas at {fi.muni.cz - work | yenya.net - private}> |
| http://www.fi.muni.cz/~kas/                         GPG: 4096R/A45477D5 |
         Like most things in Windows, on the surface it looks great.
                         -- Jeremy Allison, A Tale of Two Standards

  parent reply	other threads:[~2016-08-24 15:21 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-20  8:25 [PATCH] wan-cosa: Use memdup_user() rather than duplicating its implementation SF Markus Elfring
     [not found] ` <np956e$tnp$1@blaine.gmane.org>
2016-08-21  2:12   ` David Miller
2016-08-24 15:21 ` Jan Kasprzak [this message]
2016-08-24 16:14   ` SF Markus Elfring
2016-08-25  9:13     ` Jan Kasprzak

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160824152154.GT10241@fi.muni.cz \
    --to=kas@fi.muni.cz \
    --cc=elfring@users.sourceforge.net \
    --cc=julia.lawall@lip6.fr \
    --cc=kernel-janitors@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=nicolas.palix@imag.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox