From: Dan Carpenter <dan.carpenter@oracle.com>
To: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
Cc: linux-kernel@vger.kernel.org, devel@driverdev.osuosl.org,
Martyn Welch <martyn.welch@ge.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Manohar Vanga <manohar.vanga@gmail.com>
Subject: Re: [PATCH 6/9] staging: vme_user: return -EFAULT on __copy_*_user errors
Date: Tue, 23 Jun 2015 16:51:24 +0300 [thread overview]
Message-ID: <20150623135124.GP28762@mwanda> (raw)
In-Reply-To: <1435063353-25914-7-git-send-email-dmitry.kalinkin@gmail.com>
On Tue, Jun 23, 2015 at 03:42:30PM +0300, Dmitry Kalinkin wrote:
> @@ -178,38 +167,24 @@ static ssize_t buffer_to_user(unsigned int minor, char __user *buf,
> size_t count, loff_t *ppos)
> {
> void *image_ptr;
> - ssize_t retval;
>
> image_ptr = image[minor].kern_buf + *ppos;
> + if (__copy_to_user(buf, image_ptr, (unsigned long)count))
> + return -EINVAL;
s/EINVAL/EFAULT/
>
> - retval = __copy_to_user(buf, image_ptr, (unsigned long)count);
> - if (retval != 0) {
> - retval = (count - retval);
> - pr_warn("Partial copy to userspace\n");
> - } else
> - retval = count;
> -
> - /* Return number of bytes successfully read */
> - return retval;
> + return count;
> }
>
> static ssize_t buffer_from_user(unsigned int minor, const char __user *buf,
> size_t count, loff_t *ppos)
> {
> void *image_ptr;
> - size_t retval;
>
> image_ptr = image[minor].kern_buf + *ppos;
> + if (__copy_from_user(image_ptr, buf, (unsigned long)count))
> + return -EINVAL;
s/EINVAL/EFAULT/
>
> - retval = __copy_from_user(image_ptr, buf, (unsigned long)count);
> - if (retval != 0) {
> - retval = (count - retval);
> - pr_warn("Partial copy to userspace\n");
> - } else
> - retval = count;
> -
> - /* Return number of bytes successfully read */
> - return retval;
> + return count;
> }
regards,
dan carpenter
next prev parent reply other threads:[~2015-06-23 13:51 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-23 12:42 [PATCH 0/9] vme_user checkpatch fixes and read()/write() rework Dmitry Kalinkin
2015-06-23 12:42 ` [PATCH 1/9] staging: vme_user: fix code alignment Dmitry Kalinkin
2015-06-23 13:21 ` Frans Klaver
2015-06-23 13:44 ` Dmitry Kalinkin
2015-06-23 13:43 ` Frans Klaver
2015-06-23 12:42 ` [PATCH 2/9] staging: vme_user: fix blank lines Dmitry Kalinkin
2015-06-23 12:42 ` [PATCH 3/9] staging: vme_user: fix NULL comparison style Dmitry Kalinkin
2015-06-23 12:42 ` [PATCH 4/9] staging: vme_user: fix kmalloc style Dmitry Kalinkin
2015-06-23 12:42 ` [PATCH 5/9] staging: vme_user: allow large read()/write() Dmitry Kalinkin
2015-06-23 12:42 ` [PATCH 6/9] staging: vme_user: return -EFAULT on __copy_*_user errors Dmitry Kalinkin
2015-06-23 13:51 ` Dan Carpenter [this message]
2015-06-23 14:13 ` Dmitry Kalinkin
2015-06-23 16:03 ` [PATCHv2 0/9] vme_user checkpatch fixes and read()/write() rework Dmitry Kalinkin
2015-06-23 16:03 ` [PATCHv2 1/9] staging: vme_user: fix code alignment Dmitry Kalinkin
2015-06-23 16:03 ` [PATCHv2 2/9] staging: vme_user: fix blank lines Dmitry Kalinkin
2015-06-23 16:03 ` [PATCHv2 3/9] staging: vme_user: fix NULL comparison style Dmitry Kalinkin
2015-06-23 16:03 ` [PATCHv2 4/9] staging: vme_user: fix kmalloc style Dmitry Kalinkin
2015-06-23 16:03 ` [PATCHv2 5/9] staging: vme_user: allow large read()/write() Dmitry Kalinkin
2015-06-23 16:03 ` [PATCHv2 6/9] staging: vme_user: return -EFAULT on __copy_*_user errors Dmitry Kalinkin
2015-06-25 11:27 ` Sudip Mukherjee
2015-06-25 12:05 ` Dmitry Kalinkin
2015-06-25 17:05 ` Dmitry Kalinkin
2015-07-06 12:42 ` Martyn Welch
2015-06-23 16:03 ` [PATCHv2 7/9] staging: vme_user: remove unused variable Dmitry Kalinkin
2015-06-23 16:03 ` [PATCHv2 8/9] staging: vme_user: remove distracting comment Dmitry Kalinkin
2015-06-23 16:03 ` [PATCHv2 9/9] staging: vme_user: remove okcount variable Dmitry Kalinkin
2015-06-26 20:39 ` [PATCHv3 0/9] vme_user checkpatch fixes and read()/write() rework Dmitry Kalinkin
2015-06-26 20:39 ` [PATCHv3 1/9] staging: vme_user: fix code alignment Dmitry Kalinkin
2015-06-26 20:39 ` [PATCHv3 2/9] staging: vme_user: fix blank lines Dmitry Kalinkin
2015-06-26 20:39 ` [PATCHv3 3/9] staging: vme_user: fix NULL comparison style Dmitry Kalinkin
2015-06-26 20:39 ` [PATCHv3 4/9] staging: vme_user: fix kmalloc style Dmitry Kalinkin
2015-06-26 20:39 ` [PATCHv3 5/9] staging: vme_user: allow large read()/write() Dmitry Kalinkin
2015-06-26 20:39 ` [PATCHv3 6/9] staging: vme_user: switch to returning -EFAULT on __copy_*_user errors Dmitry Kalinkin
2015-07-06 12:51 ` Martyn Welch
2015-07-06 13:10 ` Dmitry Kalinkin
2015-07-06 13:51 ` Martyn Welch
2015-06-26 20:39 ` [PATCHv3 7/9] staging: vme_user: remove unused variable Dmitry Kalinkin
2015-06-26 20:39 ` [PATCHv3 8/9] staging: vme_user: remove distracting comment Dmitry Kalinkin
2015-06-26 20:39 ` [PATCHv3 9/9] staging: vme_user: remove okcount variable Dmitry Kalinkin
2015-06-23 12:42 ` [PATCH 7/9] staging: vme_user: remove unused variable Dmitry Kalinkin
2015-06-23 12:42 ` [PATCH 8/9] staging: vme_user: remove distracting comment Dmitry Kalinkin
2015-06-23 12:42 ` [PATCH 9/9] staging: vme_user: remove okcount variable Dmitry Kalinkin
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=20150623135124.GP28762@mwanda \
--to=dan.carpenter@oracle.com \
--cc=devel@driverdev.osuosl.org \
--cc=dmitry.kalinkin@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=manohar.vanga@gmail.com \
--cc=martyn.welch@ge.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.