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

Reply via email to