All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/5] fix list corruption with recursive remove_usage()
@ 2017-08-04 21:53 Luc Van Oostenryck
  2017-08-04 21:53 ` [PATCH v3 1/5] ptrlist: add a counter for the number of removed elemnets Luc Van Oostenryck
                   ` (5 more replies)
  0 siblings, 6 replies; 15+ messages in thread
From: Luc Van Oostenryck @ 2017-08-04 21:53 UTC (permalink / raw)
  To: Christopher Li; +Cc: linux-sparse, Luc Van Oostenryck

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
  
The series is also available in the git repository at:

  git://github.com/lucvoo/sparse.git fix-nested-pseudo-users-deletion-v3

for you to fetch changes up to 4e2f74793baa52c127653efaedaacb0b52b8f884:

  mark pseudo users as deleted instead of removing them (2017-08-04 23:50:12 +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(-)

^ permalink raw reply	[flat|nested] 15+ messages in thread
* [PATCH v3 0/5] fix list corruption with recursive remove_usage()
@ 2017-08-04 22:17 Luc Van Oostenryck
  0 siblings, 0 replies; 15+ messages in thread
From: Luc Van Oostenryck @ 2017-08-04 22:17 UTC (permalink / raw)
  To: Christopher Li; +Cc: linux-sparse, Luc Van Oostenryck

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(-)

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2017-08-06  1:07 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-04 21:53 [PATCH v3 0/5] fix list corruption with recursive remove_usage() Luc Van Oostenryck
2017-08-04 21:53 ` [PATCH v3 1/5] ptrlist: add a counter for the number of removed elemnets Luc Van Oostenryck
2017-08-04 21:53 ` [PATCH v3 2/5] ptrlist: adjust ptr_list_size for the new ->rm field Luc Van Oostenryck
2017-08-04 21:53 ` [PATCH v3 3/5] ptrlist: add MARK_CURRENT_DELETED Luc Van Oostenryck
2017-08-04 21:53 ` [PATCH v3 4/5] ptrlist: avoid iteration on NULL entries Luc Van Oostenryck
2017-08-04 21:53 ` [PATCH v3 5/5] mark pseudo users as deleted instead of removing them Luc Van Oostenryck
2017-08-04 22:32 ` [PATCH v3 0/5] fix list corruption with recursive remove_usage() Luc Van Oostenryck
2017-08-05  0:24   ` Christopher Li
2017-08-05  8:55     ` Luc Van Oostenryck
2017-08-05 11:28       ` Christopher Li
2017-08-05 23:04         ` Luc Van Oostenryck
2017-08-06  0:09           ` Christopher Li
2017-08-06  1:07             ` Luc Van Oostenryck
2017-08-05 11:45       ` Christopher Li
2017-08-04 22:17 Luc Van Oostenryck

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.