The goal of this series is to avoid list corruption that may happen with pseudo-users when deleting one while doing nested ptrlist walking. This can occurs with mutually recursive calls: remove_usage() -> kill_instruction() -> remove_usage() ... Changes since v2: - replace the local tests against null list elements by one done directly by the list iteration macros Changes since v3: - effectively commit the last commit The series is also available in the git repository at: git://github.com/lucvoo/sparse.git fix-nested-pseudo-users-deletion-v4 for you to fetch changes up to bddf7d1e4ed81c3def7c6de2796a5489ca678399: mark pseudo users as deleted instead of removing them (2017-08-05 00:14:02 +0200) ---------------------------------------------------------------- Luc Van Oostenryck (5): ptrlist: add a counter for the number of removed elemnets ptrlist: adjust ptr_list_size for the new ->rm field ptrlist: add MARK_CURRENT_DELETED ptrlist: avoid iteration on NULL entries mark pseudo users as deleted instead of removing them ptrlist.c | 2 +- ptrlist.h | 15 ++++++++++++++- simplify.c | 5 +++-- 3 files changed, 18 insertions(+), 4 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html