Support lttng-modules syscall filtering in enable-event

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Implement support for lttng-modules syscall filtering

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Cleanup: Remove LTTNG_ENABLE_ALL_EVENT and LTTNG_DISABLE_ALL_EVENT

Cleanup lttng-ctl to session daemon communication protocol, and cleanup
session daemon code (remove dead code).

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Add kernctl_syscall_list

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
lttng-modules ABI: syscall field "enable"

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Implement syscall mask ioctl

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Implement kernctl_syscall_mask

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: syscall tracing: disable all and missing error handling

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Implement tests for kernel syscall tracing feature

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Test: add disable syscalls when none are enabled

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fix: kernel consumer: issue put_subbuf on error

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: syscall test: add missing semicolumns in match

Don't match the system call "openat" for instance.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: change perror to PERROR in kernel consumer

Signed-off-by: David Goulet <dgoulet@efficios.com>
Add syscall listing support

This adds two things. First, a global syscall table populated at boot
time that is used to match which syscall is enabled or not using the
lttng kernel get mask call.

The second thing is the ability to list which syscall is enable or not
in a specific session. Keep in mind that for syscalls, NO state is kept
on the session daemon so we have to ask the kernel tracer which syscall
is enabled for a specific channel.

This introduce some changes to the API/ABI. First, an event flag is
added to the lttng_event data structure using 4 bytes of padding for an
enum value that can be ORed together in that field. This is used for now
to know which bitness the event is in case of a syscall event type.

Second, lttng_list_syscalls(...) is added to provide the ability to list
all available syscalls that the user can trace. To use that with the
lttng command line, "--syscall" is added to lttng list.

    $ lttng list -k --syscall

The above only lists available syscalls from the kernel tracer.

Signed-off-by: David Goulet <dgoulet@efficios.com>
Support syscall event in save session

Signed-off-by: David Goulet <dgoulet@efficios.com>