On 4/11/18 12:57 AM, Ka-Cheong Poon wrote:
rds_sendmsg() calls rds_send_mprds_hash() to find a c_path to use to
send a message.  Suppose the RDS connection is not yet up.  In
rds_send_mprds_hash(), it does

        if (conn->c_npaths == 0)
                wait_event_interruptible(conn->c_hs_waitq,
                                         (conn->c_npaths != 0));

If it is interrupted before the connection is set up,
rds_send_mprds_hash() will return a non-zero hash value.  Hence
rds_sendmsg() will use a non-zero c_path to send the message.  But if
the RDS connection ends up to be non-MP capable, the message will be
lost as only the zero c_path can be used.

Signed-off-by: Ka-Cheong Poon <ka-cheong.p...@oracle.com>
---
Thanks for posting the fix upstream as well.

Acked-by: Santosh Shilimkar <santosh.shilim...@oracle.com>

Reply via email to