Re: [PATCH v2 03/10] Documentation/kdbus: fix operator precedence issue in KDBUS_ITEM_NEXT macro

From: David Herrmann
Date: Wed Jun 10 2015 - 10:03:27 EST


Hi

On Tue, Jun 9, 2015 at 11:00 PM, Sergei Zviagintsev <sergei@xxxxxxxx> wrote:
> `item' argument in KDBUS_ITEM_NEXT macro example is not enclosed into
> parentheses when the cast operator is applied, which leads to improper
> type conversion if `item' is supplied as a complex expression, e.g.
>
> KDBUS_ITEM_NEXT(condition ? a : b)
>
> Use parentheses properly to guarantee right precedence.
>
> Signed-off-by: Sergei Zviagintsev <sergei@xxxxxxxx>
> ---
> Documentation/kdbus/kdbus.item.xml | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx>

Thanks
David

> diff --git a/Documentation/kdbus/kdbus.item.xml b/Documentation/kdbus/kdbus.item.xml
> index 09f8b903116f..b0eeeef995af 100644
> --- a/Documentation/kdbus/kdbus.item.xml
> +++ b/Documentation/kdbus/kdbus.item.xml
> @@ -69,7 +69,7 @@
> #define KDBUS_ALIGN8(val) (((val) + 7) & ~7)
>
> #define KDBUS_ITEM_NEXT(item) \
> - (typeof(item))(((uint8_t *)item) + KDBUS_ALIGN8((item)->size))
> + (typeof(item))((uint8_t *)(item) + KDBUS_ALIGN8((item)->size))
>
> #define KDBUS_ITEM_FOREACH(item, head, first) \
> for (item = (head)->first; \
> --
> 1.8.3.1
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/