diff options
author | Attila Kovacs <attila.kovacs@cfa.harvard.edu> | 2022-07-26 15:20:05 -0400 |
---|---|---|
committer | Steve Dickson <steved@redhat.com> | 2022-07-26 15:26:39 -0400 |
commit | 7a6651a31038cb19807524d0422e09271c5ffec9 (patch) | |
tree | e3fa60442ad82919401b9d65585cf25ee7b4e658 /src/clnt_fd_locks.h | |
parent | 21718bbbfa2a4bf4992bd295e25cbc67868dcfc1 (diff) | |
download | ti-rpc-7a6651a31038cb19807524d0422e09271c5ffec9.tar.gz |
clnt_dg_freeres() uncleared set active state may deadlock.
In clnt_dg.c in clnt_dg_freeres(), cu_fd_lock->active is set to TRUE, with no
corresponding clearing when the operation (*xdr_res() call) is completed. This
would leave other waiting operations blocked indefinitely, effectively
deadlocking the client. For comparison, clnt_vd_freeres() in clnt_vc.c does not
set the active state to TRUE. I believe the vc behavior is correct, while the
dg behavior is a bug.
Signed-off-by: Attila Kovacs <attipaci@gmail.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
Diffstat (limited to 'src/clnt_fd_locks.h')
0 files changed, 0 insertions, 0 deletions