When dumping an ADB address entry associated with a name,
the name bucket lock was held, but the entry bucket lock was
not; this could cause data races when other threads were updating
address entry info. (These races are probably not operationally
harmful, but they triggered TSAN error reports.)
if (debug) {
fprintf(f, ";\tHook(%s) %p\n", legend, nh);
}
+ LOCK(&nh->entry->bucket->lock);
dump_entry(f, adb, nh->entry, debug, now);
+ UNLOCK(&nh->entry->bucket->lock);
}
}