Fix: rcuhlist header: use parenthesis around macro parameters
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Tue, 20 Apr 2021 20:21:53 +0000 (16:21 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Thu, 22 Apr 2021 12:33:00 +0000 (08:33 -0400)
The coding style followed across liburcu is to use parenthesis around
macro parameters when it would otherwise lead to unexpected results due
to priority of operators. Fix rcuhlist.h to follow this coding style.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I2f7988e96ce495d68960c5f1036aa6953d3ff53b

include/urcu/rcuhlist.h

index ca1da068b1fa6fdbe95db84dae922fc44e66bf84..20c723864807ecd555115f59015b8accbb20bf0d 100644 (file)
@@ -55,8 +55,8 @@ void cds_hlist_del_rcu(struct cds_hlist_node *elem)
  * This must be done while rcu_read_lock() is held.
  */
 #define cds_hlist_for_each_rcu(pos, head) \
-       for (pos = rcu_dereference((head)->next); pos != NULL; \
-               pos = rcu_dereference(pos->next))
+       for (pos = rcu_dereference((head)->next); (pos) != NULL; \
+               pos = rcu_dereference((pos)->next))
 
 /*
  * cds_hlist_for_each_entry_rcu takes 4 arguments, while the Linux
@@ -66,16 +66,16 @@ void cds_hlist_del_rcu(struct cds_hlist_node *elem)
  */
 #define cds_hlist_for_each_entry_rcu(entry, pos, head, member) \
        for (pos = rcu_dereference((head)->next), \
-                       entry = cds_hlist_entry(pos, __typeof__(*entry), member); \
-               pos != NULL; \
-               pos = rcu_dereference(pos->next), \
-                       entry = cds_hlist_entry(pos, __typeof__(*entry), member))
+                       entry = cds_hlist_entry(pos, __typeof__(*(entry)), member); \
+               (pos) != NULL; \
+               pos = rcu_dereference((pos)->next), \
+                       entry = cds_hlist_entry(pos, __typeof__(*(entry)), member))
 
 #define cds_hlist_for_each_entry_rcu_2(entry, head, member) \
        for (entry = cds_hlist_entry_safe(rcu_dereference((head)->next), \
-                       __typeof__(*entry), member); \
-               entry != NULL; \
-               entry = cds_hlist_entry_safe(rcu_dereference(entry->member.next), \
-                       __typeof__(*entry), member))
+                       __typeof__(*(entry)), member); \
+               (entry) != NULL; \
+               entry = cds_hlist_entry_safe(rcu_dereference((entry)->member.next), \
+                       __typeof__(*(entry)), member))
 
 #endif /* _URCU_RCUHLIST_H */
This page took 0.025501 seconds and 4 git commands to generate.