Hi,

This diff that makes SLIST_REMOVE invalidate pointer more paranoid.
I am running it for a while now without problems.

ok to put in in?

bluhm

Index: sys/queue.h
===================================================================
RCS file: /data/mirror/openbsd/cvs/src/sys/sys/queue.h,v
retrieving revision 1.38
diff -u -p -r1.38 queue.h
--- sys/queue.h 3 Jul 2013 15:05:21 -0000       1.38
+++ sys/queue.h 19 Feb 2015 21:29:54 -0000
@@ -157,8 +157,8 @@ struct {                                                    
        \
                        curelm = curelm->field.sle_next;                \
                curelm->field.sle_next =                                \
                    curelm->field.sle_next->field.sle_next;             \
-               _Q_INVALIDATE((elm)->field.sle_next);                   \
        }                                                               \
+       _Q_INVALIDATE((elm)->field.sle_next);                           \
 } while (0)
 
 /*

Reply via email to