diff options
author | Rick Macklem <rmacklem@FreeBSD.org> | 2024-04-26 03:58:21 +0000 |
---|---|---|
committer | Rick Macklem <rmacklem@FreeBSD.org> | 2024-05-01 01:16:33 +0000 |
commit | 19b6aa047e77757de58811f02c564e8dff3679b6 (patch) | |
tree | 5f45c72548364d9a6a400e2a186187d9afe3b7ef /sys/fs/nfsclient/nfs_clbio.c | |
parent | 509819691cb8d2f62ec9f14fe84928872ceb126e (diff) | |
download | src-19b6aa047e77757de58811f02c564e8dff3679b6.tar.gz src-19b6aa047e77757de58811f02c564e8dff3679b6.zip |
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)
Diffstat (limited to 'sys/fs/nfsclient/nfs_clbio.c')
0 files changed, 0 insertions, 0 deletions