From: Jérémie Galarneau Date: Mon, 19 Jul 2021 21:17:39 +0000 (-0400) Subject: Fix: sessiond: notification: missing unlock on client skip X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=commitdiff_plain;h=70eb2f6fb8b5ee08fce4c970a498c0cdc3e69bf3 Fix: sessiond: notification: missing unlock on client skip Skipping a client must be performed by using the dedicated "skip_client" label which will unlock the client's lock before continuing the loop rather than using 'continue' directly. Currently, a client will remain locked when an hidden trigger emits a notification to which it is subscribed. 1458230 Missing unlock May result in deadlock if there is another attempt to acquire the lock. In notification_client_list_send_evaluation: Missing a release of a lock on a path (CWE-667) Reported-by: Coverity Scan Signed-off-by: Jérémie Galarneau Change-Id: I8b69395b91b0ea59ae5e0beadebd9099db623121 --- diff --git a/src/bin/lttng-sessiond/notification-thread-events.c b/src/bin/lttng-sessiond/notification-thread-events.c index 9e5ec5091..747740233 100644 --- a/src/bin/lttng-sessiond/notification-thread-events.c +++ b/src/bin/lttng-sessiond/notification-thread-events.c @@ -4421,7 +4421,8 @@ int notification_client_list_send_evaluation( * Notifications resulting from an hidden trigger are * only sent to the session daemon. */ - continue; + DBG("Skipping client as the trigger is hidden and the client is not the session daemon"); + goto skip_client; } if (source_object_creds) {