Acked-by: Alin-Gabriel Serdean <[email protected]>
-----Original Message-----
From: dev <[email protected]> On Behalf Of Ilya Maximets
Sent: Friday, November 4, 2022 4:26 PM
To: [email protected]
Cc: Subrata Nath <[email protected]>; Dumitru Ceara
<[email protected]>; Ilya Maximets <[email protected]>
Subject: [ovs-dev] [PATCH] 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 <[email protected]>
Co-authored-by: Dumitru Ceara <[email protected]>
Signed-off-by: Dumitru Ceara <[email protected]>
Signed-off-by: Ilya Maximets <[email protected]>
---
lib/rculist.h | 18 +++++++++---------
1 file 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,
\
--
2.37.3
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev