_i is used as loop cursor and must be a proper lvalue, whereas two other arguments can be complex expressions. Stay uniform across the macro and enclose _is and _s with parentheses in all cases, but keep _i without them (any valid lvalue will not break cast to (u8 *) due to precedence rules). Update documentation example.
List macroses (e.g. list_for_each) were taken as an example for this change. Signed-off-by: Sergei Zviagintsev <[email protected]> --- Documentation/kdbus/kdbus.item.xml | 4 ++-- ipc/kdbus/item.h | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Documentation/kdbus/kdbus.item.xml b/Documentation/kdbus/kdbus.item.xml index b0eeeef995af..fb8b6c151a0d 100644 --- a/Documentation/kdbus/kdbus.item.xml +++ b/Documentation/kdbus/kdbus.item.xml @@ -73,8 +73,8 @@ #define KDBUS_ITEM_FOREACH(item, head, first) \ for (item = (head)->first; \ - ((uint8_t *)(item) < (uint8_t *)(head) + (head)->size) && \ - ((uint8_t *)(item) >= (uint8_t *)(head)); \ + ((uint8_t *)item < (uint8_t *)(head) + (head)->size) && \ + ((uint8_t *)item >= (uint8_t *)(head)); \ item = KDBUS_ITEM_NEXT(item)) ]]></programlisting> </refsect2> diff --git a/ipc/kdbus/item.h b/ipc/kdbus/item.h index 03612368b3bb..592b68a7c2db 100644 --- a/ipc/kdbus/item.h +++ b/ipc/kdbus/item.h @@ -28,9 +28,9 @@ #define KDBUS_ITEM_PAYLOAD_SIZE(_i) ((_i)->size - KDBUS_ITEM_HEADER_SIZE) #define KDBUS_ITEMS_FOREACH(_i, _is, _s) \ - for (_i = _is; \ - ((u8 *)(_i) < (u8 *)(_is) + (_s)) && \ - ((u8 *)(_i) >= (u8 *)(_is)); \ + for (_i = (_is); \ + ((u8 *)_i < (u8 *)(_is) + (_s)) && \ + ((u8 *)_i >= (u8 *)(_is)); \ _i = KDBUS_ITEM_NEXT(_i)) #define KDBUS_ITEM_VALID(_i, _is, _s) \ -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

