9ns: Fix concurrent TF removal bug
authorBarret Rhoden <brho@cs.berkeley.edu>
Tue, 17 Jul 2018 17:03:06 +0000 (13:03 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Tue, 17 Jul 2018 17:07:17 +0000 (13:07 -0400)
commit17f7a3c8a7ac87d7517603ebfcd2bc66e5d4bbf3
tree5b849ae049afd7d60c259b8fc2af83ff7ef97856
parent654897a8e890cf443d803f29d8bd55c43a36b83a
9ns: Fix concurrent TF removal bug

If you had two threads removing a child from a parent at the same time,
get_locked_and_kreffed_parent() would return a TF that was not the
parent of the child.  I think the check for child->parent was from before I
deferred clearning ->parent until __tf_free().

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/src/ns/tree_file.c