#!/bin/bash
#
-# Copyright (C) - 2013 Christian Babeux <christian.babeux@efficios.com>
-# Copyright (C) - 2014 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+# Copyright (C) 2013 Christian Babeux <christian.babeux@efficios.com>
+# Copyright (C) 2014 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
#
-# This program is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License, version 2 only, as
-# published by the Free Software Foundation.
+# SPDX-License-Identifier: GPL-2.0-only
#
-# This program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
-# more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this program; if not, write to the Free Software Foundation, Inc., 51
-# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
TEST_DESC="Kernel tracer - System calls"
create_lttng_session_ok $SESSION_NAME $TRACE_PATH
- lttng_enable_kernel_syscall_ok $SESSION_NAME "open"
+ lttng_enable_kernel_syscall_ok $SESSION_NAME "openat"
trace_testapp
# ensure all events are in the trace.
- validate_trace_exp "-e syscall_entry_open: -e compat_syscall_entry_open:" $TRACE_PATH
- validate_trace_exp "-e syscall_exit_open: -e compat_syscall_exit_open:" $TRACE_PATH
+ validate_trace_exp "-e syscall_entry_openat: -e compat_syscall_entry_openat:" $TRACE_PATH
+ validate_trace_exp "-e syscall_exit_openat: -e compat_syscall_exit_openat:" $TRACE_PATH
# ensure trace only contains those.
- validate_trace_only_exp "-e syscall_entry_open: -e compat_syscall_entry_open: -e syscall_exit_open: -e compat_syscall_exit_open:" $TRACE_PATH
+ validate_trace_only_exp "-e syscall_entry_openat: -e compat_syscall_entry_openat: -e syscall_exit_openat: -e compat_syscall_exit_openat:" $TRACE_PATH
destroy_lttng_session_ok $SESSION_NAME
create_lttng_session_ok $SESSION_NAME $TRACE_PATH
- lttng_enable_kernel_syscall_ok $SESSION_NAME "open"
+ lttng_enable_kernel_syscall_ok $SESSION_NAME "openat"
lttng_enable_kernel_syscall_ok $SESSION_NAME "close"
trace_testapp
# ensure all events are in the trace.
- validate_trace_exp "-e syscall_entry_open: -e compat_syscall_entry_open:" $TRACE_PATH
- validate_trace_exp "-e syscall_exit_open: -e compat_syscall_exit_open:" $TRACE_PATH
+ validate_trace_exp "-e syscall_entry_openat: -e compat_syscall_entry_openat:" $TRACE_PATH
+ validate_trace_exp "-e syscall_exit_openat: -e compat_syscall_exit_openat:" $TRACE_PATH
validate_trace_exp "-e syscall_entry_close: -e compat_syscall_entry_close:" $TRACE_PATH
validate_trace_exp "-e syscall_exit_close: -e compat_syscall_exit_close:" $TRACE_PATH
# ensure trace only contains those.
- validate_trace_only_exp "-e syscall_entry_open: -e compat_syscall_entry_open: -e syscall_exit_open: -e compat_syscall_exit_open: -e syscall_entry_close: -e compat_syscall_entry_close: -e syscall_exit_close: -e compat_syscall_exit_close:" $TRACE_PATH
+ validate_trace_only_exp "-e syscall_entry_openat: -e compat_syscall_entry_openat: -e syscall_exit_openat: -e compat_syscall_exit_openat: -e syscall_entry_close: -e compat_syscall_entry_close: -e syscall_exit_close: -e compat_syscall_exit_close:" $TRACE_PATH
destroy_lttng_session_ok $SESSION_NAME
trace_testapp
# ensure at least open and close are there.
- validate_trace_exp "-e syscall_entry_open: -e compat_syscall_entry_open:" $TRACE_PATH
- validate_trace_exp "-e syscall_exit_open: -e compat_syscall_exit_open:" $TRACE_PATH
+ validate_trace_exp "-e syscall_entry_openat: -e compat_syscall_entry_openat:" $TRACE_PATH
+ validate_trace_exp "-e syscall_exit_openat: -e compat_syscall_exit_openat:" $TRACE_PATH
validate_trace_exp "-e syscall_entry_close: -e compat_syscall_entry_close:" $TRACE_PATH
validate_trace_exp "-e syscall_exit_close: -e compat_syscall_exit_close:" $TRACE_PATH
# trace may contain other syscalls.
lttng_enable_kernel_syscall_ok $SESSION_NAME
# try to disable open system call: fails because enabler semantic of
# "all syscalls" is not "the open" system call.
- lttng_disable_kernel_syscall_fail $SESSION_NAME "open"
+ lttng_disable_kernel_syscall_fail $SESSION_NAME "openat"
trace_testapp
- # ensure "open" syscall is there.
- validate_trace_exp "-e syscall_entry_open: -e compat_syscall_entry_open: -e syscall_exit_open: -e compat_syscall_exit_open:" $TRACE_PATH
+ # ensure "openat" syscall is there.
+ validate_trace_exp "-e syscall_entry_openat: -e compat_syscall_entry_openat: -e syscall_exit_openat: -e compat_syscall_exit_openat:" $TRACE_PATH
# ensure "close" syscall is there.
validate_trace_exp "-e syscall_entry_close: -e compat_syscall_entry_close:" $TRACE_PATH
lttng_enable_kernel_syscall_ok $SESSION_NAME
# try to disable open and close system calls: fails because enabler
# semantic of "all syscalls" is not "the open" system call.
- lttng_disable_kernel_syscall_fail $SESSION_NAME "open"
+ lttng_disable_kernel_syscall_fail $SESSION_NAME "openat"
lttng_disable_kernel_syscall_fail $SESSION_NAME "close"
trace_testapp
- # ensure "open" syscall is there.
- validate_trace_exp "-e syscall_entry_open: -e compat_syscall_entry_open: -e syscall_exit_open: -e compat_syscall_exit_open:" $TRACE_PATH
+ # ensure "openat" syscall is there.
+ validate_trace_exp "-e syscall_entry_openat: -e compat_syscall_entry_openat: -e syscall_exit_openat: -e compat_syscall_exit_openat:" $TRACE_PATH
# ensure "close" syscall is there.
validate_trace_exp "-e syscall_entry_close: -e compat_syscall_entry_close:" $TRACE_PATH
trace_testapp
# ensure at least open and close are there.
- validate_trace_exp "-e syscall_entry_open: -e compat_syscall_entry_open:" $TRACE_PATH
- validate_trace_exp "-e syscall_exit_open: -e compat_syscall_exit_open:" $TRACE_PATH
+ validate_trace_exp "-e syscall_entry_openat: -e compat_syscall_entry_openat:" $TRACE_PATH
+ validate_trace_exp "-e syscall_exit_openat: -e compat_syscall_exit_openat:" $TRACE_PATH
validate_trace_exp "-e syscall_entry_close: -e compat_syscall_entry_close:" $TRACE_PATH
validate_trace_exp "-e syscall_exit_close: -e compat_syscall_exit_close:" $TRACE_PATH
# trace may contain other syscalls.
create_lttng_session_ok $SESSION_NAME $TRACE_PATH
# enable open system call
- lttng_enable_kernel_syscall_ok $SESSION_NAME "open"
+ lttng_enable_kernel_syscall_ok $SESSION_NAME "openat"
# disable open system call
- lttng_disable_kernel_syscall_ok $SESSION_NAME "open"
+ lttng_disable_kernel_syscall_ok $SESSION_NAME "openat"
trace_testapp
create_lttng_session_ok $SESSION_NAME $TRACE_PATH
# enable open and close system calls
- lttng_enable_kernel_syscall_ok $SESSION_NAME "open"
+ lttng_enable_kernel_syscall_ok $SESSION_NAME "openat"
lttng_enable_kernel_syscall_ok $SESSION_NAME "close"
# disable open and close system calls
- lttng_disable_kernel_syscall_ok $SESSION_NAME "open"
+ lttng_disable_kernel_syscall_ok $SESSION_NAME "openat"
lttng_disable_kernel_syscall_ok $SESSION_NAME "close"
trace_testapp
create_lttng_session_ok $SESSION_NAME $TRACE_PATH
# enable open and close system calls
- lttng_enable_kernel_syscall_ok $SESSION_NAME "open"
+ lttng_enable_kernel_syscall_ok $SESSION_NAME "openat"
lttng_enable_kernel_syscall_ok $SESSION_NAME "close"
# disable close system call
lttng_disable_kernel_syscall_ok $SESSION_NAME "close"
trace_testapp
# ensure open is there.
- validate_trace_exp "-e syscall_entry_open: -e compat_syscall_entry_open:" $TRACE_PATH
- validate_trace_exp "-e syscall_exit_open: -e compat_syscall_exit_open:" $TRACE_PATH
+ validate_trace_exp "-e syscall_entry_openat: -e compat_syscall_entry_openat:" $TRACE_PATH
+ validate_trace_exp "-e syscall_exit_openat: -e compat_syscall_exit_openat:" $TRACE_PATH
# ensure trace only contains those.
- validate_trace_only_exp "-e syscall_entry_open: -e compat_syscall_entry_open: -e syscall_exit_open: -e compat_syscall_exit_open:" $TRACE_PATH
+ validate_trace_only_exp "-e syscall_entry_openat: -e compat_syscall_entry_openat: -e syscall_exit_openat: -e compat_syscall_exit_openat:" $TRACE_PATH
destroy_lttng_session_ok $SESSION_NAME
create_lttng_session_ok $SESSION_NAME $TRACE_PATH
- lttng_enable_kernel_syscall_ok $SESSION_NAME "open"
+ lttng_enable_kernel_syscall_ok $SESSION_NAME "openat"
# First disable will succeed
- lttng_disable_kernel_syscall_ok $SESSION_NAME "open"
+ lttng_disable_kernel_syscall_ok $SESSION_NAME "openat"
# Second disable succeeds too, due to enabler semantic.
- lttng_disable_kernel_syscall_ok $SESSION_NAME "open"
+ lttng_disable_kernel_syscall_ok $SESSION_NAME "openat"
destroy_lttng_session_ok $SESSION_NAME
lttng_enable_kernel_syscall_ok $SESSION_NAME
# Enabling an event already enabled succeeds, due to enabler semantic.
- lttng_enable_kernel_syscall_ok $SESSION_NAME "open"
+ lttng_enable_kernel_syscall_ok $SESSION_NAME "openat"
destroy_lttng_session_ok $SESSION_NAME
lttng_enable_kernel_syscall_ok $SESSION_NAME
lttng_disable_kernel_syscall_ok $SESSION_NAME
# Disabling an event already disabled fails.
- lttng_disable_kernel_syscall_fail $SESSION_NAME "open"
+ lttng_disable_kernel_syscall_fail $SESSION_NAME "openat"
destroy_lttng_session_ok $SESSION_NAME
create_lttng_session_ok $SESSION_NAME $TRACE_PATH
lttng_enable_kernel_channel_ok $SESSION_NAME $CHANNEL_NAME
- lttng_disable_kernel_syscall_fail $SESSION_NAME "open" $CHANNEL_NAME
+ lttng_disable_kernel_syscall_fail $SESSION_NAME "openat" $CHANNEL_NAME
destroy_lttng_session_ok $SESSION_NAME