From 779aaaa65f384a11f332302700dcff4216912cae Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Tue, 9 Aug 2011 08:37:14 -0400 Subject: [PATCH] wfqueue: fix type-incorrect assignment The "old_tail = q->tail, q->tail = node" assignment in wfqueue is not type safe; q->tail is a pointer to pointer to node and the correct value to assign is &node->next. While the arithmetic is the same, it is better to be tidy. Signed-off-by: Paolo Bonzini Signed-off-by: Mathieu Desnoyers --- urcu/static/wfqueue.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/urcu/static/wfqueue.h b/urcu/static/wfqueue.h index 77828ca..19314f5 100644 --- a/urcu/static/wfqueue.h +++ b/urcu/static/wfqueue.h @@ -75,7 +75,7 @@ static inline void _cds_wfq_enqueue(struct cds_wfq_queue *q, * structure containing node and setting node->next to NULL before * publication. */ - old_tail = uatomic_xchg(&q->tail, node); + old_tail = uatomic_xchg(&q->tail, &node->next); /* * At this point, dequeuers see a NULL old_tail->next, which indicates * that the queue is being appended to. The following store will append -- 2.34.1