Page MenuHomeFreeBSD

fix panic "dvp != vp not true" in cache_enter_time()
ClosedPublic

Authored by rmacklem on Feb 27 2021, 4:34 PM.

Details

Summary

Juraj Lutter reported a panic "dvp != vp not true" in
cache_enter_time() called from the NFS client's
"rdirplus" function.
This is specific to an NFSv3 mount with the "rdirplus"
option. Unlike NFSv4, NFSv3 replies to ReaddirPlus
includes entries for the current directory.

This trivial patch avoids doing a cache_enter_time()
call for this case. I assume that cache_enter_time()
should not be called to make an entry for the directory
itself.

Test Plan

Reproduced the problem, then applied the patch
to see that the problem did not recur.

Also had Juraj test the patch and it fixed the
panic() for him.

Diff Detail

Repository
R10 FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.