summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlya Maximets <i.maximets@ovn.org>2022-11-04 15:25:42 +0100
committerIlya Maximets <i.maximets@ovn.org>2022-11-24 15:30:06 +0100
commit8ed497f6c1fb87b33ddd86f24d1cfe6a43cb0564 (patch)
treec3c78d7f1938b0b9fcf04190c61b30dd1935b694
parent76c935cbabab50511b224b9c6337723abe127107 (diff)
downloadopenvswitch-8ed497f6c1fb87b33ddd86f24d1cfe6a43cb0564.tar.gz
rculist: Fix iteration macros.
Some macros for rculist have no users and there are no unit tests specific to that library as well, so broken code wasn't spotted while updating to multi-variable iterators. Fixing multiple problems like missing commas, parenthesis, incorrect variable and macro names. Fixes: d293965d7b06 ("rculist: use multi-variable helpers for loop macros.") Reported-by: Subrata Nath <subrata.nath@nokia.com> Co-authored-by: Dumitru Ceara <dceara@redhat.com> Signed-off-by: Dumitru Ceara <dceara@redhat.com> Acked-by: Alin-Gabriel Serdean <aserdean@ovn.org> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
-rw-r--r--lib/rculist.h18
1 files changed, 9 insertions, 9 deletions
diff --git a/lib/rculist.h b/lib/rculist.h
index c0d77acf9..9bb8cbf3e 100644
--- a/lib/rculist.h
+++ b/lib/rculist.h
@@ -380,18 +380,18 @@ rculist_is_singleton_protected(const struct rculist *list)
#define RCULIST_FOR_EACH_REVERSE_PROTECTED(ITER, MEMBER, RCULIST) \
for (INIT_MULTIVAR(ITER, MEMBER, (RCULIST)->prev, struct rculist); \
CONDITION_MULTIVAR(ITER, MEMBER, ITER_VAR(ITER) != (RCULIST)); \
- UPDATE_MULTIVAR(ITER, ITER_VAR(VAR).prev))
+ UPDATE_MULTIVAR(ITER, ITER_VAR(ITER)->prev))
#define RCULIST_FOR_EACH_REVERSE_PROTECTED_CONTINUE(ITER, MEMBER, RCULIST) \
for (INIT_MULTIVAR(ITER, MEMBER, (ITER)->MEMBER.prev, struct rculist); \
CONDITION_MULTIVAR(ITER, MEMBER, ITER_VAR(ITER) != (RCULIST)); \
- UPDATE_MULTIVAR(ITER, ITER_VAR(VAR).prev))
+ UPDATE_MULTIVAR(ITER, ITER_VAR(ITER)->prev))
#define RCULIST_FOR_EACH_PROTECTED(ITER, MEMBER, RCULIST) \
for (INIT_MULTIVAR(ITER, MEMBER, rculist_next_protected(RCULIST), \
struct rculist); \
CONDITION_MULTIVAR(ITER, MEMBER, ITER_VAR(ITER) != (RCULIST)); \
- UPDATE_MULTIVAR(ITER, rculist_next_protected(ITER_VAR(ITER))) \
+ UPDATE_MULTIVAR(ITER, rculist_next_protected(ITER_VAR(ITER)))) \
#define RCULIST_FOR_EACH_SAFE_SHORT_PROTECTED(ITER, MEMBER, RCULIST) \
for (INIT_MULTIVAR_SAFE_SHORT(ITER, MEMBER, \
@@ -399,18 +399,18 @@ rculist_is_singleton_protected(const struct rculist *list)
struct rculist); \
CONDITION_MULTIVAR_SAFE_SHORT(ITER, MEMBER, \
ITER_VAR(ITER) != (RCULIST), \
- ITER_NEXT_VAR(ITER) = rculist_next_protected(ITER_VAR(VAR))); \
- UPDATE_MULTIVAR_SHORT(ITER))
+ ITER_NEXT_VAR(ITER) = rculist_next_protected(ITER_VAR(ITER))); \
+ UPDATE_MULTIVAR_SAFE_SHORT(ITER))
#define RCULIST_FOR_EACH_SAFE_LONG_PROTECTED(ITER, NEXT, MEMBER, RCULIST) \
for (INIT_MULTIVAR_SAFE_LONG(ITER, NEXT, MEMBER, \
- rculist_next_protected(RCULIST) \
+ rculist_next_protected(RCULIST), \
struct rculist); \
- CONDITION_MULTIVAR_SAFE_LONG(VAR, NEXT, MEMBER \
+ CONDITION_MULTIVAR_SAFE_LONG(ITER, NEXT, MEMBER, \
ITER_VAR(ITER) != (RCULIST), \
- ITER_VAR(NEXT) = rculist_next_protected(ITER_VAR(VAR)), \
+ ITER_VAR(NEXT) = rculist_next_protected(ITER_VAR(ITER)), \
ITER_VAR(NEXT) != (RCULIST)); \
- UPDATE_MULTIVAR_LONG(ITER))
+ UPDATE_MULTIVAR_SAFE_LONG(ITER, NEXT))
#define RCULIST_FOR_EACH_SAFE_PROTECTED(...) \
OVERLOAD_SAFE_MACRO(RCULIST_FOR_EACH_SAFE_LONG_PROTECTED, \