Commit 7590649e authored by Vlad Dumitrescu's avatar Vlad Dumitrescu Committed by Leon Romanovsky
Browse files

IB/cm: Drop lockdep assert and WARN when freeing old msg



The send completion handler can run after cm_id has advanced to another
message.  The cm_id lock is not needed in this case, but a recent change
re-used cm_free_priv_msg(), which asserts that the lock is held and
WARNs if the cm_id's currently outstanding msg is different than the one
being freed.

Fixes: 1e515921 ("IB/cm: Do not hold reference on cm_id unless needed")
Signed-off-by: default avatarVlad Dumitrescu <vdumitrescu@nvidia.com>
Reviewed-by: default avatarSean Hefty <shefty@nvidia.com>
Link: https://patch.msgid.link/0c364c29142f72b7875fdeba51f3c9bd6ca863ee.1745839788.git.leon@kernel.org


Signed-off-by: default avatarLeon Romanovsky <leon@kernel.org>
parent 3db60cf9
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -3786,7 +3786,8 @@ static void cm_process_send_error(struct cm_id_private *cm_id_priv,
	spin_lock_irq(&cm_id_priv->lock);
	if (msg != cm_id_priv->msg) {
		spin_unlock_irq(&cm_id_priv->lock);
		cm_free_priv_msg(msg);
		cm_free_msg(msg);
		cm_deref_id(cm_id_priv);
		return;
	}
	cm_free_priv_msg(msg);