summaryrefslogtreecommitdiffstats
path: root/samples-kdbus-fix-operator-precedence-issue-in-KDBUS.patch
diff options
context:
space:
mode:
authorJosh Boyer <jwboyer@fedoraproject.org>2015-07-08 10:30:06 -0400
committerJosh Boyer <jwboyer@fedoraproject.org>2015-07-08 10:30:06 -0400
commit8be443055ee741775545f3d86cbfd36410c6ef8d (patch)
tree90c6fda25ceb55bee60a1d8a30f436eb3b9e1277 /samples-kdbus-fix-operator-precedence-issue-in-KDBUS.patch
parent84bb446543a6e771a1be4fc09b0712607bc6a376 (diff)
downloadkernel-8be443055ee741775545f3d86cbfd36410c6ef8d.tar.gz
kernel-8be443055ee741775545f3d86cbfd36410c6ef8d.tar.xz
kernel-8be443055ee741775545f3d86cbfd36410c6ef8d.zip
Linux v4.2-rc1-33-gd6ac4ffc61ac
Diffstat (limited to 'samples-kdbus-fix-operator-precedence-issue-in-KDBUS.patch')
-rw-r--r--samples-kdbus-fix-operator-precedence-issue-in-KDBUS.patch33
1 files changed, 33 insertions, 0 deletions
diff --git a/samples-kdbus-fix-operator-precedence-issue-in-KDBUS.patch b/samples-kdbus-fix-operator-precedence-issue-in-KDBUS.patch
new file mode 100644
index 000000000..b7d0fccff
--- /dev/null
+++ b/samples-kdbus-fix-operator-precedence-issue-in-KDBUS.patch
@@ -0,0 +1,33 @@
+From: Sergei Zviagintsev <sergei@s15v.net>
+Date: Wed, 10 Jun 2015 00:00:07 +0300
+Subject: [PATCH] samples/kdbus: fix operator precedence issue in
+ KDBUS_ITEM_NEXT macro
+
+`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 <sergei@s15v.net>
+Reviewed-by: David Herrmann <dh.herrmann@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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)) && \