WSL2-Linux-Kernel/net/sunrpc
Chuck Lever 13a9a9d74d SUNRPC: Fix svc_flush_dcache()
On platforms that implement flush_dcache_page(), a large NFS WRITE
triggers the WARN_ONCE in bvec_iter_advance():

Sep 20 14:01:05 klimt.1015granger.net kernel: Attempted to advance past end of bvec iter
Sep 20 14:01:05 klimt.1015granger.net kernel: WARNING: CPU: 0 PID: 1032 at include/linux/bvec.h:101 bvec_iter_advance.isra.0+0xa7/0x158 [sunrpc]

Sep 20 14:01:05 klimt.1015granger.net kernel: Call Trace:
Sep 20 14:01:05 klimt.1015granger.net kernel:  svc_tcp_recvfrom+0x60c/0x12c7 [sunrpc]
Sep 20 14:01:05 klimt.1015granger.net kernel:  ? bvec_iter_advance.isra.0+0x158/0x158 [sunrpc]
Sep 20 14:01:05 klimt.1015granger.net kernel:  ? del_timer_sync+0x4b/0x55
Sep 20 14:01:05 klimt.1015granger.net kernel:  ? test_bit+0x1d/0x27 [sunrpc]
Sep 20 14:01:05 klimt.1015granger.net kernel:  svc_recv+0x1193/0x15e4 [sunrpc]
Sep 20 14:01:05 klimt.1015granger.net kernel:  ? try_to_freeze.isra.0+0x6f/0x6f [sunrpc]
Sep 20 14:01:05 klimt.1015granger.net kernel:  ? refcount_sub_and_test.constprop.0+0x13/0x40 [sunrpc]
Sep 20 14:01:05 klimt.1015granger.net kernel:  ? svc_xprt_put+0x1e/0x29f [sunrpc]
Sep 20 14:01:05 klimt.1015granger.net kernel:  ? svc_send+0x39f/0x3c1 [sunrpc]
Sep 20 14:01:05 klimt.1015granger.net kernel:  nfsd+0x282/0x345 [nfsd]
Sep 20 14:01:05 klimt.1015granger.net kernel:  ? __kthread_parkme+0x74/0xba
Sep 20 14:01:05 klimt.1015granger.net kernel:  kthread+0x2ad/0x2bc
Sep 20 14:01:05 klimt.1015granger.net kernel:  ? nfsd_destroy+0x124/0x124 [nfsd]
Sep 20 14:01:05 klimt.1015granger.net kernel:  ? test_bit+0x1d/0x27
Sep 20 14:01:05 klimt.1015granger.net kernel:  ? kthread_mod_delayed_work+0x115/0x115
Sep 20 14:01:05 klimt.1015granger.net kernel:  ret_from_fork+0x22/0x30

Reported-by: He Zhe <zhe.he@windriver.com>
Fixes: ca07eda33e ("SUNRPC: Refactor svc_recvfrom()")
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2020-09-21 10:13:25 -04:00
..
auth_gss Fixes: 2020-08-25 18:01:36 -07:00
xprtrdma NFS client bugfixes for Linux 5.9 2020-09-09 11:14:20 -07:00
Kconfig
Makefile
addr.c net: sunrpc: Fix off-by-one issues in 'rpc_ntop6' 2020-05-27 10:08:26 -04:00
auth.c sunrpc: add missing newline when printing parameter 'auth_hashtable_size' by sysfs 2020-06-11 13:33:48 -04:00
auth_null.c
auth_unix.c
backchannel_rqst.c
cache.c
clnt.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
debugfs.c
netns.h
rpc_pipe.c sunrpc: destroy rpc_inode_cachep after unregister_filesystem 2020-07-17 13:12:44 -04:00
rpcb_clnt.c SUNRPC: stop printk reading past end of string 2020-09-05 10:39:41 -04:00
sched.c
socklib.c
socklib.h
stats.c
sunrpc.h sunrpc: check that domain table is empty at module unload. 2020-05-28 18:15:00 -04:00
sunrpc_syms.c sunrpc: check that domain table is empty at module unload. 2020-05-28 18:15:00 -04:00
svc.c Merge branch 'nfsd-5.8' of git://linux-nfs.org/~cel/cel-2.6 into for-5.8-incoming 2020-05-21 10:58:15 -04:00
svc_xprt.c NFS Client Updates for Linux 5.8 2020-06-11 12:22:41 -07:00
svcauth.c sunrpc: check that domain table is empty at module unload. 2020-05-28 18:15:00 -04:00
svcauth_unix.c
svcsock.c SUNRPC: Fix svc_flush_dcache() 2020-09-21 10:13:25 -04:00
sysctl.c
timer.c
xdr.c SUNRPC: Properly set the @subbuf parameter of xdr_buf_subsegment() 2020-06-26 08:45:23 -04:00
xprt.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
xprtmultipath.c
xprtsock.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00