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