[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v2] xen/device_tree: Fix MISRA C 2012 Rule 20.7 violations
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@xxxxxxxxx> --- 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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |