]> git.baikalelectronics.ru Git - kernel.git/commit
net/smc: sync err code when tcp connection was refused
authorliuyacan <liuyacan@corp.netease.com>
Thu, 21 Apr 2022 09:40:27 +0000 (17:40 +0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 25 Apr 2022 10:10:49 +0000 (11:10 +0100)
commit194739e1347f798a34a333ab69622da8b8a620fb
tree7d87997394e9a8382237a7132abf1bf7456228c2
parent91a8f48a1d3cd91c1aa49a8baec50571ce930970
net/smc: sync err code when tcp connection was refused

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: 1aaff5a888fc ("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>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/smc/af_smc.c