Messages in this thread | | | From | Alexander Potapenko <> | Subject | [PATCH 0/2] Clang: avoid undefined behavior in llist iterators | Date | Fri, 23 Sep 2016 15:22:56 +0200 |
| |
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
| |