diff options
author | Ursula Braun <ursula.braun@de.ibm.com> | 2017-11-21 13:23:53 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-12-14 09:53:05 +0100 |
commit | 4d0d1bc65b5710f45bc5fe10b4fbfc2671b0851d (patch) | |
tree | f91f9df252ba3302bf0a35c02e85bdaafeaaa47d /net/smc | |
parent | f0d564230e08d314aac54cbcb1865a4b8fafe906 (diff) | |
download | linux-stable-4d0d1bc65b5710f45bc5fe10b4fbfc2671b0851d.tar.gz linux-stable-4d0d1bc65b5710f45bc5fe10b4fbfc2671b0851d.tar.bz2 linux-stable-4d0d1bc65b5710f45bc5fe10b4fbfc2671b0851d.zip |
net/smc: use sk_rcvbuf as start for rmb creation
[ Upstream commit 4e1061f4a2bba1669c7297455c73ddafbebf2b12 ]
Commit 3e034725c0d8 ("net/smc: common functions for RMBs and send buffers")
merged handling of SMC receive and send buffers. It introduced sk_buf_size
as merged start value for size determination. But since sk_buf_size is not
used at all, sk_sndbuf is erroneously used as start for rmb creation.
This patch makes sure, sk_buf_size is really used as intended, and
sk_rcvbuf is used as start value for rmb creation.
Fixes: 3e034725c0d8 ("net/smc: common functions for RMBs and send buffers")
Signed-off-by: Ursula Braun <ubraun@linux.vnet.ibm.com>
Reviewed-by: Hans Wippel <hwippel@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net/smc')
-rw-r--r-- | net/smc/smc_core.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/smc/smc_core.c b/net/smc/smc_core.c index 413e3868fbf3..7166e7ecbe86 100644 --- a/net/smc/smc_core.c +++ b/net/smc/smc_core.c @@ -571,7 +571,7 @@ static int __smc_buf_create(struct smc_sock *smc, bool is_rmb) /* use socket send buffer size (w/o overhead) as start value */ sk_buf_size = smc->sk.sk_sndbuf / 2; - for (bufsize_short = smc_compress_bufsize(smc->sk.sk_sndbuf / 2); + for (bufsize_short = smc_compress_bufsize(sk_buf_size); bufsize_short >= 0; bufsize_short--) { if (is_rmb) { |