Skip to content
Commit 03c1cc6f authored by D. Wythe's avatar D. Wythe Committed by Greg Kroah-Hartman
Browse files

net/smc: fix fallback failed while sendmsg with fastopen



[ Upstream commit ce7ca794 ]

Before determining whether the msg has unsupported options, it has been
prematurely terminated by the wrong status check.

For the application, the general usages of MSG_FASTOPEN likes

fd = socket(...)
/* rather than connect */
sendto(fd, data, len, MSG_FASTOPEN)

Hence, We need to check the flag before state check, because the sock
state here is always SMC_INIT when applications tries MSG_FASTOPEN.
Once we found unsupported options, fallback it to TCP.

Fixes: ee9dfbef ("net/smc: handle sockopts forcing fallback")
Signed-off-by: default avatarD. Wythe <alibuda@linux.alibaba.com>
Signed-off-by: default avatarSimon Horman <simon.horman@corigine.com>

v2 -> v1: Optimize code style
Reviewed-by: default avatarTony Lu <tonylu@linux.alibaba.com>

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent dafde107
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment