2018-08-03 08:40:48

by Ursula Braun

[permalink] [raw]
Subject: [PATCH net 1/1] net/smc: no cursor update send in state SMC_INIT

If a writer blocked condition is received without data, the current
consumer cursor is immediately sent. Servers could already receive this
condition in state SMC_INIT without finished tx-setup. This patch
avoids sending a consumer cursor update in this case.

Signed-off-by: Ursula Braun <[email protected]>
---
net/smc/smc_cdc.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/net/smc/smc_cdc.c b/net/smc/smc_cdc.c
index a7e8d63fc8ae..9bde1e4ca288 100644
--- a/net/smc/smc_cdc.c
+++ b/net/smc/smc_cdc.c
@@ -233,7 +233,8 @@ static void smc_cdc_msg_recv_action(struct smc_sock *smc,
/* force immediate tx of current consumer cursor, but
* under send_lock to guarantee arrival in seqno-order
*/
- smc_tx_sndbuf_nonempty(conn);
+ if (smc->sk.sk_state != SMC_INIT)
+ smc_tx_sndbuf_nonempty(conn);
}
}

--
2.16.4



2018-08-04 20:11:35

by David Miller

[permalink] [raw]
Subject: Re: [PATCH net 1/1] net/smc: no cursor update send in state SMC_INIT

From: Ursula Braun <[email protected]>
Date: Fri, 3 Aug 2018 10:38:33 +0200

> If a writer blocked condition is received without data, the current
> consumer cursor is immediately sent. Servers could already receive this
> condition in state SMC_INIT without finished tx-setup. This patch
> avoids sending a consumer cursor update in this case.
>
> Signed-off-by: Ursula Braun <[email protected]>

Applied, thank you.