From: Michal Hocko <mhocko@suse.com>
To: Ivan Safonov <insafonov@gmail.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Andrew Morton <akpm@linux-foundation.org>,
Allen Pais <apais@linux.microsoft.com>,
Johannes Weiner <hannes@cmpxchg.org>,
Waiman Long <longman@redhat.com>,
Abheek Dhawan <adawesomeguy222@gmail.com>,
devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] staging:wlan-ng: use memdup_user instead of kmalloc/copy_from_user
Date: Mon, 15 Feb 2021 09:44:24 +0100 [thread overview]
Message-ID: <YCo0aAMajx0AG7JM@dhcp22.suse.cz> (raw)
In-Reply-To: <20210213120527.451531-1-insafonov@gmail.com>
On Sat 13-02-21 15:05:28, Ivan Safonov wrote:
> memdup_user() is shorter and safer equivalent
> of kmalloc/copy_from_user pair.
>
> Signed-off-by: Ivan Safonov <insafonov@gmail.com>
> ---
> drivers/staging/wlan-ng/p80211netdev.c | 28 ++++++++++++--------------
> 1 file changed, 13 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/staging/wlan-ng/p80211netdev.c b/drivers/staging/wlan-ng/p80211netdev.c
> index a15abb2c8f54..6f9666dc0277 100644
> --- a/drivers/staging/wlan-ng/p80211netdev.c
> +++ b/drivers/staging/wlan-ng/p80211netdev.c
> @@ -569,24 +569,22 @@ static int p80211knetdev_do_ioctl(struct net_device *dev,
> goto bail;
> }
>
> - /* Allocate a buf of size req->len */
> - msgbuf = kmalloc(req->len, GFP_KERNEL);
> - if (msgbuf) {
> - if (copy_from_user(msgbuf, (void __user *)req->data, req->len))
> - result = -EFAULT;
> - else
> - result = p80211req_dorequest(wlandev, msgbuf);
> + msgbuf = memdup_user(req->data, req->len);
Move to memdup_user is definitely a right step. What is the range of
req->len though? If this can be larger than PAGE_SIZE then vmemdup_user
would be a better alternative.
--
Michal Hocko
SUSE Labs
next prev parent reply other threads:[~2021-02-15 8:45 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-13 12:05 [PATCH] staging:wlan-ng: use memdup_user instead of kmalloc/copy_from_user Ivan Safonov
2021-02-15 8:44 ` Michal Hocko [this message]
2021-02-15 13:26 ` Dan Carpenter
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=YCo0aAMajx0AG7JM@dhcp22.suse.cz \
--to=mhocko@suse.com \
--cc=adawesomeguy222@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=apais@linux.microsoft.com \
--cc=devel@driverdev.osuosl.org \
--cc=gregkh@linuxfoundation.org \
--cc=hannes@cmpxchg.org \
--cc=insafonov@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=longman@redhat.com \
/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 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.