linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Julien Thierry <julien.thierry@arm.com>
To: linux-nfs@vger.kernel.org
Cc: Julien Thierry <julien.thierry@arm.com>,
	Trond Myklebust <trond.myklebust@hammerspace.com>,
	Anna Schumaker <anna.schumaker@netapp.com>,
	"J. Bruce Fields" <bfields@fieldses.org>,
	Jeff Layton <jlayton@kernel.org>,
	"David S. Miller" <davem@davemloft.net>,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH] SUNRPC: Fix iter_iov_*vec warnings
Date: Mon, 29 Oct 2018 17:55:01 +0000	[thread overview]
Message-ID: <1540835701-23176-1-git-send-email-julien.thierry@arm.com> (raw)

While booting linux-next on Juno with rootfs over NFS, the following
warning is spammed on kernel log:

[   16.988190] WARNING: CPU: 1 PID: 680 at lib/iov_iter.c:1082 iov_iter_kvec+0x20/0x40
[   16.995776] Modules linked in:
[   16.998801] CPU: 1 PID: 680 Comm: kworker/u13:0 Not tainted 4.19.0-next-20181029 #2238
[   17.006640] Hardware name: ARM Juno development board (r0) (DT)
[   17.012505] Workqueue: xprtiod xs_stream_data_receive_workfn
[   17.018108] pstate: 00000005 (nzcv daif -PAN -UAO)
[   17.022851] pc : iov_iter_kvec+0x20/0x40
[   17.026733] lr : xs_stream_data_receive+0x194/0x378
[   17.031559] sp : ffff00000b033ce0
[   17.034836] x29: ffff00000b033ce0 x28: 0000000000000000
[   17.040095] x27: ffff8009760b9870 x26: ffff00000917e1c8
[   17.045352] x25: 0000000000000000 x24: ffff800976a91598
[   17.050610] x23: ffff000009169000 x22: ffff8009775f0000
[   17.055867] x21: 000000000000000c x20: ffff800976a91578
[   17.061124] x19: ffff800976a91000 x18: 0000000000000000
[   17.066381] x17: 0000000000000000 x16: 0000000000000000
[   17.071639] x15: 0000000000000400 x14: 0000000000000400
[   17.076896] x13: 0000000000000400 x12: 0000000000002f28
[   17.082153] x11: 0000000000000000 x10: 0000000000000960
[   17.087410] x9 : ffff00000b033d50 x8 : fefefefefefefeff
[   17.092667] x7 : ffff80097ff9d380 x6 : 0000000000000000
[   17.097924] x5 : 00646f6974727078 x4 : 000000000000000c
[   17.103181] x3 : 0000000000000001 x2 : ffff00000b033d30
[   17.108438] x1 : 0000000000000002 x0 : ffff00000b033d50
[   17.113695] Call trace:
[   17.116115]  iov_iter_kvec+0x20/0x40
[   17.119652]  xs_stream_data_receive_workfn+0x10/0x18
[   17.124568]  process_one_work+0x1c8/0x318
[   17.128535]  worker_thread+0x48/0x428
[   17.132158]  kthread+0xf8/0x128
[   17.135266]  ret_from_fork+0x10/0x18
[   17.138801] ---[ end trace 65cbcd2ddaeef59e ]---

This is likely a clash between the recent addition of vector iterators to
SUNRPC and the recent
commit aa563d7bca6e882ec2bdae24603c8f016401a144 ("iov_iter: Separate
type from direction and use accessor functions") which slightly changes
the usage of those iterators by splitting type and direction.

Fix this by not including type in the direction of the operation.

Fixes: 277e4ab7d530bf287e02b65cfcd3ea8f489784f6 ("SUNRPC: Simplify TCP
receive code by switching to using iterators")

Signed-off-by: Julien Thierry <julien.thierry@arm.com>
Cc: Trond Myklebust <trond.myklebust@hammerspace.com>
Cc: Anna Schumaker <anna.schumaker@netapp.com>
Cc: "J. Bruce Fields" <bfields@fieldses.org>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: netdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
---
 net/sunrpc/xprtsock.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c
index 1b51e04..ae77c71 100644
--- a/net/sunrpc/xprtsock.c
+++ b/net/sunrpc/xprtsock.c
@@ -361,7 +361,7 @@ static void xs_free_peer_addresses(struct rpc_xprt *xprt)
 xs_read_kvec(struct socket *sock, struct msghdr *msg, int flags,
 		struct kvec *kvec, size_t count, size_t seek)
 {
-	iov_iter_kvec(&msg->msg_iter, READ | ITER_KVEC, kvec, 1, count);
+	iov_iter_kvec(&msg->msg_iter, READ, kvec, 1, count);
 	return xs_sock_recvmsg(sock, msg, flags, seek);
 }
 
@@ -370,7 +370,7 @@ static void xs_free_peer_addresses(struct rpc_xprt *xprt)
 		struct bio_vec *bvec, unsigned long nr, size_t count,
 		size_t seek)
 {
-	iov_iter_bvec(&msg->msg_iter, READ | ITER_BVEC, bvec, nr, count);
+	iov_iter_bvec(&msg->msg_iter, READ, bvec, nr, count);
 	return xs_sock_recvmsg(sock, msg, flags, seek);
 }
 
-- 
1.9.1


             reply	other threads:[~2018-10-29 17:55 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-29 17:55 Julien Thierry [this message]
2018-10-29 18:02 ` [PATCH] SUNRPC: Fix iter_iov_*vec warnings Trond Myklebust
2018-11-01  1:04 ` [LKP] [SUNRPC] 9502426546: kernel_BUG_at_lib/iov_iter.c kernel test robot

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=1540835701-23176-1-git-send-email-julien.thierry@arm.com \
    --to=julien.thierry@arm.com \
    --cc=anna.schumaker@netapp.com \
    --cc=bfields@fieldses.org \
    --cc=davem@davemloft.net \
    --cc=jlayton@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=trond.myklebust@hammerspace.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).