HomeFreeBSD

nfsd: Fix handling of the error case for nfsvno_open some more

Description

nfsd: Fix handling of the error case for nfsvno_open some more

Commit ded5f2954e1a defined done_namei to indicate that
nd_repstat was set after a successful nfsvno_namei(),
so that a cleanup needs to be done in nfsvno_open().
However, it missed the case where a call to
nfsrv_opencheck() in nfsvno_open() sets nd_repstat non-zero.

This would cause panics due to a dangling locked vnode
when nfsrv_opencheck() set nd_repstat, such as during grace
just after a server boot.

This patch fixes the problem.

PR: 268971

Details

Provenance
rmacklemAuthored on Feb 11 2023, 3:34 AM
Parents
rGc92790b3fb9f: UPDATING: add UPDATING section for HUAWEI 3G/4G Devices change
Branches
Unknown
Tags
Unknown