From: Roberto Bergantinos Corpas rbergant@redhat.com
mainline inclusion from mainline-5.10-rc1 commit 27a1e8a0f79e643d4dedb46f71e76bdee3801877 category: bugfix bugzilla: 51817 CVE: NA
------------------------------------------------- Its possible that using AUTH_SYS and mountd manage-gids option a user may hit the 8k RPC channel buffer limit. This have been observed on field, causing unanswered RPCs on clients after mountd fails to write on channel :
rpc.mountd[11231]: auth_unix_gid: error writing reply
Userland nfs-utils uses a buffer size of 32k (RPC_CHAN_BUF_SIZE), so lets match those two.
Signed-off-by: Roberto Bergantinos Corpas rbergant@redhat.com Signed-off-by: J. Bruce Fields bfields@redhat.com (cherry picked from commit 27a1e8a0f79e643d4dedb46f71e76bdee3801877) Signed-off-by: Baisong Zhong zhongbaisong@huawei.com Reviewed-by: Yue Haibing yuehaibing@huawei.com Signed-off-by: Yang Yingliang yangyingliang@huawei.com --- net/sunrpc/cache.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/sunrpc/cache.c b/net/sunrpc/cache.c index e2d3cf801c310..afab8fce92054 100644 --- a/net/sunrpc/cache.c +++ b/net/sunrpc/cache.c @@ -870,7 +870,7 @@ static ssize_t cache_do_downcall(char *kaddr, const char __user *buf, static ssize_t cache_slow_downcall(const char __user *buf, size_t count, struct cache_detail *cd) { - static char write_buf[8192]; /* protected by queue_io_mutex */ + static char write_buf[32768]; /* protected by queue_io_mutex */ ssize_t ret = -EINVAL;
if (count >= sizeof(write_buf))