HomeFreeBSD

nfscl: Do not use nfso_own for delayed nfsrpc_doclose()

Description

nfscl: Do not use nfso_own for delayed nfsrpc_doclose()

When an initial attempt to close an NFSv4 lock returns NFSERR_DELAY,
the open structure is put on a list for delayed closing. When this
is done, the nfso_own field is set to NULL, so it cannot be used by
nfsrpc_doclose().

Without this patch, the NFSv4 client can crash when a NFSv4 server
replies NFSERR_DELAY to a Close operation. Fortunately, most extant
NFSv4 servers do not do this. This patch avoids the crash for any
that do return NFSERR_DELAY for Close.

Found during a IETF bakeathon testing event this week.

(cherry picked from commit 6251027c4252edb3b8f8fc359a40e610349e9af3)

Details

Provenance
rmacklemAuthored on Fri, Apr 26, 3:58 AM
Parents
rG8774c92e32b2: libarchive: merge from vendor branch
Branches
Unknown
Tags
Unknown