From: Sowmini Varadhan <sowmini.varadhan@oracle.com>
To: chien.yen@oracle.com, davem@davemloft.net
Cc: rds-devel@oss.oracle.com, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org, sowmini.varadhan@oracle.com,
viro@zeniv.linux.org.uk
Subject: [PATCHv2] rds: Make rds_message_copy_from_user() return 0 on success.
Date: Thu, 5 Feb 2015 17:41:43 -0500 [thread overview]
Message-ID: <20150205224143.GD28883@oracle.com> (raw)
In-Reply-To: <20150205222301.GU29656@ZenIV.linux.org.uk>
Commit 083735f4b01b ("rds: switch rds_message_copy_from_user() to iov_iter")
breaks rds_message_copy_from_user() semantics on success, and causes it
to return nbytes copied, when it should return 0. This commit fixes that bug.
Signed-off-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
---
changes from v1: incorporate Al.Viro comment.
net/rds/message.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/net/rds/message.c b/net/rds/message.c
index 5a21e6f..756c737 100644
--- a/net/rds/message.c
+++ b/net/rds/message.c
@@ -266,7 +266,7 @@ struct rds_message *rds_message_map_pages(unsigned long *page_addrs, unsigned in
int rds_message_copy_from_user(struct rds_message *rm, struct iov_iter *from)
{
- unsigned long to_copy;
+ unsigned long to_copy, nbytes;
unsigned long sg_off;
struct scatterlist *sg;
int ret = 0;
@@ -293,9 +293,9 @@ int rds_message_copy_from_user(struct rds_message *rm, struct iov_iter *from)
sg->length - sg_off);
rds_stats_add(s_copy_from_user, to_copy);
- ret = copy_page_from_iter(sg_page(sg), sg->offset + sg_off,
- to_copy, from);
- if (ret != to_copy)
+ nbytes = copy_page_from_iter(sg_page(sg), sg->offset + sg_off,
+ to_copy, from);
+ if (nbytes != to_copy)
return -EFAULT;
sg_off += to_copy;
--
1.7.1
next prev parent reply other threads:[~2015-02-05 22:41 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-05 20:20 [PATCH] rds: Make rds_message_copy_from_user() return 0 on success Sowmini Varadhan
2015-02-05 21:58 ` Al Viro
2015-02-05 22:07 ` Sowmini Varadhan
2015-02-05 22:23 ` Al Viro
2015-02-05 22:41 ` Sowmini Varadhan [this message]
2015-02-08 6:42 ` [PATCHv2] " David Miller
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=20150205224143.GD28883@oracle.com \
--to=sowmini.varadhan@oracle.com \
--cc=chien.yen@oracle.com \
--cc=davem@davemloft.net \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=rds-devel@oss.oracle.com \
--cc=viro@zeniv.linux.org.uk \
/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.