diff mbox series

[net-next] rds: rds_rm_zerocopy_callback() correct order for list_add_tail()

Message ID 20230209-rds-list-add-tail-v1-1-5f928eb81713@diag.uniroma1.it (mailing list archive)
State Not Applicable
Headers show
Series [net-next] rds: rds_rm_zerocopy_callback() correct order for list_add_tail() | expand

Commit Message

Pietro Borrello Feb. 9, 2023, 12:26 p.m. UTC
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>
---
 net/rds/message.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


---
base-commit: 4ec5183ec48656cec489c49f989c508b68b518e3
change-id: 20230209-rds-list-add-tail-118d057b15bf

Best regards,

Comments

patchwork-bot+netdevbpf@kernel.org Feb. 13, 2023, 9:40 a.m. UTC | #1
Hello:

This patch was applied to netdev/net-next.git (master)
by David S. Miller <davem@davemloft.net>:

On Thu, 09 Feb 2023 12:26:23 +0000 you wrote:
> 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>
> 
> [...]

Here is the summary with links:
  - [net-next] rds: rds_rm_zerocopy_callback() correct order for list_add_tail()
    https://git.kernel.org/netdev/net-next/c/68762148d1b0

You are awesome, thank you!
diff mbox series

Patch

diff --git a/net/rds/message.c b/net/rds/message.c
index b47e4f0a1639..ff10efa51632 100644
--- a/net/rds/message.c
+++ b/net/rds/message.c
@@ -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() */