Skip to content
Commit ce7ca794 authored by D. Wythe's avatar D. Wythe Committed by David S. Miller
Browse files

net/smc: fix fallback failed while sendmsg with fastopen

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>
parent 37d9df22
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment