Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933342AbbFIVBp (ORCPT ); Tue, 9 Jun 2015 17:01:45 -0400 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:35260 "EHLO out4-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932560AbbFIVAm (ORCPT ); Tue, 9 Jun 2015 17:00:42 -0400 X-Sasl-enc: dblmITs6wf1FsdHnC3oNp4pbU2Xm5UOB3pJJNVMWnS03 1433883641 From: Sergei Zviagintsev To: Greg Kroah-Hartman , Daniel Mack , David Herrmann , Djalal Harouni Cc: linux-kernel@vger.kernel.org, Sergei Zviagintsev Subject: [PATCH v2 09/10] samples/kdbus: fix operator precedence issue in KDBUS_ITEM_NEXT macro Date: Wed, 10 Jun 2015 00:00:07 +0300 Message-Id: <6e1f3831f94990562b6e4a324e560b436b27ec58.1433882692.git.sergei@s15v.net> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: References: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1323 Lines: 34 `item' argument in KDBUS_ITEM_NEXT macro 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 --- samples/kdbus/kdbus-api.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/kdbus/kdbus-api.h b/samples/kdbus/kdbus-api.h index 2de4d6a8c51e..fab873b89d97 100644 --- a/samples/kdbus/kdbus-api.h +++ b/samples/kdbus/kdbus-api.h @@ -8,7 +8,7 @@ #define KDBUS_ITEM_HEADER_SIZE offsetof(struct kdbus_item, data) #define KDBUS_ITEM_SIZE(s) KDBUS_ALIGN8((s) + KDBUS_ITEM_HEADER_SIZE) #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_FOREACH(iter, first, _size) \ for (iter = (first); \ ((uint8_t *)(iter) < (uint8_t *)(first) + (_size)) && \ -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/