diff options
author | Trond Myklebust <trond.myklebust@hammerspace.com> | 2022-07-14 00:46:52 +0300 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@hammerspace.com> | 2022-07-14 00:46:52 +0300 |
commit | 51fd2eb52c0ca8275a906eed81878ef50ae94eb0 (patch) | |
tree | 2eb68c18db5c5b4ed9ef9fbbb6abe0c1637f89df /tools/perf/scripts/python | |
parent | 940261a195080cf1cdcd56948d363fe363b69da1 (diff) | |
download | linux-51fd2eb52c0ca8275a906eed81878ef50ae94eb0.tar.xz |
NFSv4: Fix races in the legacy idmapper upcall
nfs_idmap_instantiate() will cause the process that is waiting in
request_key_with_auxdata() to wake up and exit. If there is a second
process waiting for the idmap->idmap_mutex, then it may wake up and
start a new call to request_key_with_auxdata(). If the call to
idmap_pipe_downcall() from the first process has not yet finished
calling nfs_idmap_complete_pipe_upcall_locked(), then we may end up
triggering the WARN_ON_ONCE() in nfs_idmap_prepare_pipe_upcall().
The fix is to ensure that we clear idmap->idmap_upcall_data before
calling nfs_idmap_instantiate().
Fixes: e9ab41b620e4 ("NFSv4: Clean up the legacy idmapper upcall")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions