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:D. Wythe <alibuda@linux.alibaba.com> Signed-off-by:
Simon Horman <simon.horman@corigine.com> v2 -> v1: Optimize code style Reviewed-by:
Tony Lu <tonylu@linux.alibaba.com> Signed-off-by:
David S. Miller <davem@davemloft.net> Signed-off-by:
Sasha Levin <sashal@kernel.org>
Loading
Please register or sign in to comment