On Tue, 31 Oct 2017, Waiman Long wrote:
+void dlock_lists_del(struct dlock_list_node *node) +{ + struct dlock_list_head *head; + bool retry; + + do { + head = READ_ONCE(node->head);
Boqun had previously pointed this out; you need to WRITE_ONCE() node->head too. Thanks, Davidlohr