summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/net_dropmonitor.py
diff options
context:
space:
mode:
authorChuck Lever <cel@kernel.org>2026-07-09 13:40:29 -0400
committerChuck Lever <cel@kernel.org>2026-08-10 09:54:35 -0400
commit3308cf3f11ed23c79f9f3f90b34bbbad3e3a6ea9 (patch)
tree5c57ba54296244fb435b4da78c1913f63ae65ea6 /tools/perf/scripts/python/net_dropmonitor.py
parent7b4f8a1586c42d3afc3c0ac779af2db7ab1a5c55 (diff)
NFSD: Consolidate the revocation-path client unpin
The client use-after-free fixes in the state-revocation paths left four open-coded copies of one idiom: drop a cl_rpc_users pin without renewing the client's lease, waking force_expire_client() when the last pin drops on a client it is tearing down. The accompanying "do not renew" rationale was documented at only one of the four sites. put_client_renew_locked() and put_client_renew() already carry the same pin-drop logic, but they renew a non-expired client's lease and so would resurrect the client whose state is being revoked. Factor the common pin-drop into __put_client_locked(), parameterized by whether to renew. The renew helpers pass true; the new put_client_no_renew_locked() and put_client_no_renew() pass false and carry the revocation paths, which must not revive the client they are tearing down. No change in behavior. Reviewed-by: NeilBrown <neil@brown.name> Reviewed-by: Jeff Layton <jlayton@kernel.org> Link: https://patch.msgid.link/20260709-cel-v4-6-1d519d9be0cb@kernel.org Signed-off-by: Chuck Lever <cel@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/net_dropmonitor.py')
0 files changed, 0 insertions, 0 deletions