projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: Missing rcu_read_lock in cmd_list_channels()
[lttng-tools.git]
/
src
/
bin
/
lttng-sessiond
/
agent-thread.c
diff --git
a/src/bin/lttng-sessiond/agent-thread.c
b/src/bin/lttng-sessiond/agent-thread.c
index 0e827a4456d4c0ea9c37b54818bbcb6ba4c5e7a7..d7d9c6c349412ba659c3d3720e950b18ac3b8389 100644
(file)
--- a/
src/bin/lttng-sessiond/agent-thread.c
+++ b/
src/bin/lttng-sessiond/agent-thread.c
@@
-16,6
+16,7
@@
*/
#define _GNU_SOURCE
*/
#define _GNU_SOURCE
+#define _LGPL_SOURCE
#include <assert.h>
#include <common/common.h>
#include <assert.h>
#include <common/common.h>
@@
-60,10
+61,12
@@
static void update_agent_app(struct agent_app *app)
if (session->ust_session) {
struct agent *agt;
if (session->ust_session) {
struct agent *agt;
+ rcu_read_lock();
agt = trace_ust_find_agent(session->ust_session, app->domain);
if (agt) {
agent_update(agt, app->sock->fd);
}
agt = trace_ust_find_agent(session->ust_session, app->domain);
if (agt) {
agent_update(agt, app->sock->fd);
}
+ rcu_read_unlock();
}
session_unlock(session);
}
}
session_unlock(session);
}
@@
-215,7
+218,7
@@
static int handle_registration(struct lttcomm_sock *reg_sock,
size = new_sock->ops->recvmsg(new_sock, &msg, sizeof(msg), 0);
if (size < sizeof(msg)) {
size = new_sock->ops->recvmsg(new_sock, &msg, sizeof(msg), 0);
if (size < sizeof(msg)) {
- ret = -
errno
;
+ ret = -
EINVAL
;
goto error_socket;
}
domain = be32toh(msg.domain);
goto error_socket;
}
domain = be32toh(msg.domain);
This page took
0.028127 seconds
and
4
git commands to generate.