-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
An improper locking bug(e.g., deadlock) on the lock up_inode_ctx->client_list_lock #2789
Comments
Similarly, for the lock glusterfs/xlators/features/locks/src/common.c Lines 1397 to 1416 in ecc99cc
|
@ryancaicse First one is a bug. 2nd one has a comment that explains that the unlock should be taken care by the caller and it seems to be doing so. Do you want to send a PR for the first one? |
@pranithk Thanks |
Fix a bug due to the unreleased lock in the upcall_cleanup_expired_clients Updates: #2789 Signed-off-by: Ryan Cai <ryancaicse@gmail.com>
Hi, any security impacts for the first bug? |
@ryancaicse - how could __upcall_cleanup_client_entry() return anything but 0? |
I don't know since I did not write them. I am also asking questions. |
As it stands now, it won't. the patch is more of future proofing if someone were to introduce cases where -ve value will be returned. So it is not a CVE |
Following gluster#2789, a bit of a cleanup to the function. Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
Following #2789, a bit of a cleanup to the function. Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
Thank you for your contributions. |
Closing this issue as there was no update since my last update on issue. If this is an issue which is still valid, feel free to open it. |
Hi, developers, thank you for your checking. It seems the lock
up_inode_ctx->client_list_lock
is not released correctly when__upcall_cleanup_client_entry(up_client);
returnstrue
in the functionupcall_cleanup_expired_clients
?glusterfs/xlators/features/upcall/src/upcall-internal.c
Lines 198 to 225 in 3503925
Best,
The text was updated successfully, but these errors were encountered: