Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 58c490ba authored by Pavel Emelyanov's avatar Pavel Emelyanov Committed by David S. Miller
Browse files

rds: Lost locking in loop connection freeing



The conn is removed from list in there and this requires
proper lock protection.

Signed-off-by: default avatarPavel Emelyanov <xemul@openvz.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 53ab2221
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -134,8 +134,12 @@ static int rds_loop_conn_alloc(struct rds_connection *conn, gfp_t gfp)
static void rds_loop_conn_free(void *arg)
{
	struct rds_loop_connection *lc = arg;
	unsigned long flags;

	rdsdebug("lc %p\n", lc);
	spin_lock_irqsave(&loop_conns_lock, flags);
	list_del(&lc->loop_node);
	spin_unlock_irqrestore(&loop_conns_lock, flags);
	kfree(lc);
}