All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net] net/smc: sync err code when tcp connection was refused
@ 2022-04-21  9:40 liuyacan
  2022-04-21 11:58 ` liuyacan
  2022-04-25 10:20 ` patchwork-bot+netdevbpf
  0 siblings, 2 replies; 4+ messages in thread
From: liuyacan @ 2022-04-21  9:40 UTC (permalink / raw)
  To: kgraul, davem, kuba, pabeni
  Cc: linux-s390, netdev, linux-kernel, liuyacan, Tony Lu

From: liuyacan <liuyacan@corp.netease.com>

In the current implementation, when TCP initiates a connection
to an unavailable [ip,port], ECONNREFUSED will be stored in the
TCP socket, but SMC will not. However, some apps (like curl) use
getsockopt(,,SO_ERROR,,) to get the error information, which makes
them miss the error message and behave strangely.

Fixes: 50717a37db03 ("net/smc: nonblocking connect rework")
Signed-off-by: liuyacan <liuyacan@corp.netease.com>
Reviewed-by: Tony Lu <tonylu@linux.alibaba.com>
Acked-by: Karsten Graul <kgraul@linux.ibm.com>
---
 net/smc/af_smc.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/net/smc/af_smc.c b/net/smc/af_smc.c
index fc7b6eb22..bbb1a4ce5 100644
--- a/net/smc/af_smc.c
+++ b/net/smc/af_smc.c
@@ -1475,6 +1475,8 @@ static void smc_connect_work(struct work_struct *work)
 		smc->sk.sk_state = SMC_CLOSED;
 		if (rc == -EPIPE || rc == -EAGAIN)
 			smc->sk.sk_err = EPIPE;
+		else if (rc == -ECONNREFUSED)
+			smc->sk.sk_err = ECONNREFUSED;
 		else if (signal_pending(current))
 			smc->sk.sk_err = -sock_intr_errno(timeo);
 		sock_put(&smc->sk); /* passive closing */
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH net] net/smc: sync err code when tcp connection was refused
  2022-04-21  9:40 [PATCH net] net/smc: sync err code when tcp connection was refused liuyacan
@ 2022-04-21 11:58 ` liuyacan
  2022-04-22  9:24   ` Karsten Graul
  2022-04-25 10:20 ` patchwork-bot+netdevbpf
  1 sibling, 1 reply; 4+ messages in thread
From: liuyacan @ 2022-04-21 11:58 UTC (permalink / raw)
  To: liuyacan
  Cc: davem, kgraul, kuba, linux-kernel, linux-s390, netdev, pabeni,
	tonylu, ubraun

From: Yacan Liu <liuyacan@corp.netease.com>

Forgot to cc ubraun@linux.ibm.com


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH net] net/smc: sync err code when tcp connection was refused
  2022-04-21 11:58 ` liuyacan
@ 2022-04-22  9:24   ` Karsten Graul
  0 siblings, 0 replies; 4+ messages in thread
From: Karsten Graul @ 2022-04-22  9:24 UTC (permalink / raw)
  To: liuyacan
  Cc: davem, kuba, linux-kernel, linux-s390, netdev, pabeni, tonylu, ubraun

On 21/04/2022 13:58, liuyacan@corp.netease.com wrote:
> From: Yacan Liu <liuyacan@corp.netease.com>
> 
> Forgot to cc ubraun@linux.ibm.com

No problem, its okay to add the current maintainers. 
Ursula left the company in the meantime.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH net] net/smc: sync err code when tcp connection was refused
  2022-04-21  9:40 [PATCH net] net/smc: sync err code when tcp connection was refused liuyacan
  2022-04-21 11:58 ` liuyacan
@ 2022-04-25 10:20 ` patchwork-bot+netdevbpf
  1 sibling, 0 replies; 4+ messages in thread
From: patchwork-bot+netdevbpf @ 2022-04-25 10:20 UTC (permalink / raw)
  To: None
  Cc: kgraul, davem, kuba, pabeni, linux-s390, netdev, linux-kernel, tonylu

Hello:

This patch was applied to netdev/net.git (master)
by David S. Miller <davem@davemloft.net>:

On Thu, 21 Apr 2022 17:40:27 +0800 you wrote:
> From: liuyacan <liuyacan@corp.netease.com>
> 
> In the current implementation, when TCP initiates a connection
> to an unavailable [ip,port], ECONNREFUSED will be stored in the
> TCP socket, but SMC will not. However, some apps (like curl) use
> getsockopt(,,SO_ERROR,,) to get the error information, which makes
> them miss the error message and behave strangely.
> 
> [...]

Here is the summary with links:
  - [net] net/smc: sync err code when tcp connection was refused
    https://git.kernel.org/netdev/net/c/4e2e65e2e56c

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-04-25 10:20 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-21  9:40 [PATCH net] net/smc: sync err code when tcp connection was refused liuyacan
2022-04-21 11:58 ` liuyacan
2022-04-22  9:24   ` Karsten Graul
2022-04-25 10:20 ` patchwork-bot+netdevbpf

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.