Add parentheses around the macro parameters that are used as expressions
to prevent against unintended expansions during macro substitution.
Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---
Changes in v2:
- apply rule 20.7 as is, without deviating from it
- adjust commit message accordingly
Also, in this file, the macro dt_irq(irq) has not been defined properly but
since it is not used, the bug has not been uncovered yet.
I can either fix it or remove it along with macro dt_irq_flags(irq) under
rule 2.5 "A project should not contain unused macro declarations" (advisory)
xen/include/xen/device_tree.h | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
index 430a1ef445..6e253f5763 100644
--- a/xen/include/xen/device_tree.h
+++ b/xen/include/xen/device_tree.h
@@ -37,11 +37,11 @@ struct dt_device_match {
const void *data;
};
-#define __DT_MATCH_PATH(p) .path = p
-#define __DT_MATCH_TYPE(typ) .type = typ
-#define __DT_MATCH_COMPATIBLE(compat) .compatible = compat
+#define __DT_MATCH_PATH(p) .path = (p)
+#define __DT_MATCH_TYPE(typ) .type = (typ)
+#define __DT_MATCH_COMPATIBLE(compat) .compatible = (compat)
#define __DT_MATCH_NOT_AVAILABLE() .not_available = 1
-#define __DT_MATCH_PROP(p) .prop = p
+#define __DT_MATCH_PROP(p) .prop = (p)
#define DT_MATCH_PATH(p) { __DT_MATCH_PATH(p) }
#define DT_MATCH_TYPE(typ) { __DT_MATCH_TYPE(typ) }
@@ -222,13 +222,13 @@ dt_find_interrupt_controller(const struct dt_device_match *matches);
#define DT_ROOT_NODE_SIZE_CELLS_DEFAULT 1
#define dt_for_each_property_node(dn, pp) \
- for ( pp = dn->properties; pp != NULL; pp = pp->next )
+ for ( (pp) = (dn)->properties; (pp) != NULL; (pp) = (pp)->next )
#define dt_for_each_device_node(dt, dn) \
- for ( dn = dt; dn != NULL; dn = dn->allnext )
+ for ( (dn) = (dt); (dn) != NULL; (dn) = (dn)->allnext )
#define dt_for_each_child_node(dt, dn) \
- for ( dn = dt->child; dn != NULL; dn = dn->sibling )
+ for ( (dn) = (dt)->child; (dn) != NULL; (dn) = (dn)->sibling )
/* Helper to read a big number; size is in cells (not bytes) */
static inline u64 dt_read_number(const __be32 *cell, int size)
--
2.34.1