Blob Blame History Raw
From: Stefan Raspl <raspl@linux.ibm.com>
Subject: net/smc: use sk_rcvbuf as start for rmb creation
Patch-mainline: v4.15-rc1
Git-commit: 4e1061f4a2bba1669c7297455c73ddafbebf2b12
References: FATE#325694, LTC#167874, bsc#1113480

Summary:     net/smc: SMC-R MVP
Description: Add latest upstream patches to push SMC-R to the MVP level

Upstream-Description:

             net/smc: use sk_rcvbuf as start for rmb creation

             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: Stefan Raspl <raspl@linux.ibm.com>
Acked-by: Petr Tesarik <ptesarik@suse.com>
---
 net/smc/smc_core.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/net/smc/smc_core.c
+++ b/net/smc/smc_core.c
@@ -574,7 +574,7 @@ static int __smc_buf_create(struct smc_s
 		/* 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) {