kernel - Fix kernel panic caused by rename race
* kern_rename() must temporarily unlock the source ncp when resolving the
target ncp, and will sometimes have to temporarily unlock the target ncp
when relocking both. This can race against a topological removal of one
or both ncp's, resulting in incorrect operation or a panic due to a
NULL vp.
* Detect the case and return EAGAIN if the ncp's have been marked NCF_DESTROYED
or if fromncp loses its vp resolution. Callers detect the EAGAIN and retry
the operation.
Reported-by: ftigeot