diff options
author | 2025-02-01 15:00:09 -0500 | |
---|---|---|
committer | 2025-02-19 16:45:24 -0500 | |
commit | 8f8df955f078e1a023ee55161935000a67651f38 (patch) | |
tree | adee549ebc9c6fc20627eecaff58a7c51a1c3eb8 /scripts/gdb/linux/utils.py | |
parent | SUNRPC: Prevent looping due to rpc_signal_task() races (diff) | |
download | wireguard-linux-8f8df955f078e1a023ee55161935000a67651f38.tar.xz wireguard-linux-8f8df955f078e1a023ee55161935000a67651f38.zip |
NFSv4: Fix a deadlock when recovering state on a sillyrenamed file
If the file is sillyrenamed, and slated for delete on close, it is
possible for a server reboot to triggeer an open reclaim, with can again
race with the application call to close(). When that happens, the call
to put_nfs_open_context() can trigger a synchronous delegreturn call
which deadlocks because it is not marked as privileged.
Instead, ensure that the call to nfs4_inode_return_delegation_on_close()
catches the delegreturn, and schedules it asynchronously.
Reported-by: Li Lingfeng <lilingfeng3@huawei.com>
Fixes: adb4b42d19ae ("Return the delegation when deleting sillyrenamed files")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
Diffstat (limited to 'scripts/gdb/linux/utils.py')
0 files changed, 0 insertions, 0 deletions