[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1474636978-41435-1-git-send-email-glider@google.com>
Date: Fri, 23 Sep 2016 15:22:56 +0200
From: Alexander Potapenko <glider@...gle.com>
To: dvyukov@...gle.com, kcc@...gle.com, akpm@...ux-foundation.org,
edumazet@...gle.com, mingo@...e.hu
Cc: linux-kernel@...r.kernel.org
Subject: [PATCH 0/2] Clang: avoid undefined behavior in llist iterators
This patch set fixes problems with pointer arithmetics overflow in
llist iterators, llist_for_each_entry() and llist_for_each_entry_safe().
Clang turns those macros into infinite loops, because they're operating
with "negative" pointers.
As a follow-up it may make sense to convert other uses of llist_entry()
to llist_entry_safe(), or even replace uses of container_of() with
container_of_safe().
Alexander Potapenko (2):
include/linux: provide a safe version of container_of()
llist: introduce llist_entry_safe()
include/linux/kernel.h | 15 +++++++++++++++
include/linux/llist.h | 26 +++++++++++++++++++-------
2 files changed, 34 insertions(+), 7 deletions(-)
--
2.8.0.rc3.226.g39d4020
Powered by blists - more mailing lists