rds: rds_rm_zerocopy_callback() correct order for list_add_tail()
authorPietro Borrello <borrello@diag.uniroma1.it>
Thu, 9 Feb 2023 12:26:23 +0000 (12:26 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 13 Feb 2023 09:33:39 +0000 (09:33 +0000)
rds_rm_zerocopy_callback() uses list_add_tail() with swapped
arguments. This links the list head with the new entry, losing
the references to the remaining part of the list.

Fixes: 9426bbc6de99 ("rds: use list structure to track information for zerocopy completion notification")
Suggested-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Pietro Borrello <borrello@diag.uniroma1.it>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/rds/message.c

index c19c9356122782868748ca8b12ee4914d30a8433..7af59d2443e5d139275d159e00e99fdabb4051b2 100644 (file)
@@ -118,7 +118,7 @@ static void rds_rm_zerocopy_callback(struct rds_sock *rs,
        ck = &info->zcookies;
        memset(ck, 0, sizeof(*ck));
        WARN_ON(!rds_zcookie_add(info, cookie));
-       list_add_tail(&q->zcookie_head, &info->rs_zcookie_next);
+       list_add_tail(&info->rs_zcookie_next, &q->zcookie_head);
 
        spin_unlock_irqrestore(&q->lock, flags);
        /* caller invokes rds_wake_sk_sleep() */