Fix ua_chan assert

delete_ust_app() can remove a channel objd from the hash table
concurrently with notify

Fix #560

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: hash table cleanup call_rcu deadlock

Implement hash table cleanup thread so HT cleanup never deadlocks on
resize in progress.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Implement health check for app notification thread

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Implement health check for app registration dispatch

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: sanitize wait queue in the dispatch thread

This is to avoid memory leaks when the notify socket is never received
thus cleaning the wait node for command socket that are invalid.

Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: memleaks in channel/event notify

Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: add missing free causing a memleak

Also remove a unused variable in the ust registry event structure.

Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: memleak in the UST registry

Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: memleak in liblttng-ctl visit_node_load()

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: Remove reference to lttng-probe-lttng kernel module

The lttng-probe-lttng module was removed as part of lttng-modules
commit 662ed1665428b38ee00d4be5751581108bf35390

Fixes #553

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: comparing array against NULL

1019939 Array compared against 0
In process_client_msg: Array compared against NULL pointer (CWE-398)

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fix: unnecessarily large memory allocation

1019911 Wrong sizeof argument
In consumer_thread_data_poll: The sizeof operator is invoked on the
wrong argument (CWE-569)

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fix: goto error_fatal on lttng_ustconsumer_recv_cmd errors

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fix: goto error_fatal on lttng_kconsumer_recv_cmd errors

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Remove useless if() check

1022350 Dereference before null check
In ust_registry_session_destroy: All paths that lead to this null
pointer comparison already dereference the pointer earlier (CWE-476)

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fix: handle close return value

1019968 Unchecked return value
In lttng_health_check: Value returned from a function is not checked for
errors before being used (CWE-252)

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Remove logically dead code

1019963 Logically dead code
In list_sessions: Code can never be reached because of a logical
contradiction (CWE-561)

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fix: out of bound strcpy

1019904 Copy into fixed size buffer
In add_context: A source buffer of statically unknown size is copied
into a fixed-size destination buffer (CWE-120)

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fix: remove use of stat()

1019896 Time of check time of use
In utils_mkdir_recursive: A check occurs on a file's attributes before
the file is used in a privileged operation, but things may have changed
(CWE-367)

mkdir() is already doing the EEXIST check.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Using LTTNG_HOME environment variable if exists, with fallback to HOME