summaryrefslogtreecommitdiffstats
path: root/tapset/system_calls.stp
diff options
context:
space:
mode:
Diffstat (limited to 'tapset/system_calls.stp')
-rw-r--r--tapset/system_calls.stp169
1 files changed, 113 insertions, 56 deletions
diff --git a/tapset/system_calls.stp b/tapset/system_calls.stp
index 4b0665a8..b0fc1ac5 100644
--- a/tapset/system_calls.stp
+++ b/tapset/system_calls.stp
@@ -790,13 +790,7 @@ probe kernel.syscall.timer_create =
kernel.function("sys_timer_create") {
name = "timer_create"
which_clock = $which_clock
- which_clock_str = ""
- if (how==0) how_str = "CLOCK_REALTIME"
- if (how==1) how_str = "CLOCK_MONOTONIC"
- if (how==2) how_str = "CLOCK_PROCESS_CPUTIME_ID"
- if (how==3) how_str = "CLOCK_THREAD_CPUTIME_ID"
- if (how==4) how_str = "CLOCK_REALTIME_HR"
- if (how==5) how_str = "CLOCK_MONOTONIC_HR"
+ which_clock_str = _get_wc_str($which_clock)
/* ...a little unsure about this...
typedef struct sigevent {
@@ -821,13 +815,7 @@ probe kernel.syscall.timer_create.return =
kernel.function("sys_timer_create").return {
name = "timer_create.return"
which_clock = $which_clock
- which_clock_str = ""
- if (how==0) how_str = "CLOCK_REALTIME"
- if (how==1) how_str = "CLOCK_MONOTONIC"
- if (how==2) how_str = "CLOCK_PROCESS_CPUTIME_ID"
- if (how==3) how_str = "CLOCK_THREAD_CPUTIME_ID"
- if (how==4) how_str = "CLOCK_REALTIME_HR"
- if (how==5) how_str = "CLOCK_MONOTONIC_HR"
+ which_clock_str = _get_wc_str($which_clock)
/* ...a little unsure about this...
typedef struct sigevent {
@@ -929,13 +917,7 @@ probe kernel.syscall.clock_settime =
kernel.function("sys_clock_settime") {
name = "clock_settime"
which_clock = $which_clock
- which_clock_str = ""
- if (how==0) how_str = "CLOCK_REALTIME"
- if (how==1) how_str = "CLOCK_MONOTONIC"
- if (how==2) how_str = "CLOCK_PROCESS_CPUTIME_ID"
- if (how==3) how_str = "CLOCK_THREAD_CPUTIME_ID"
- if (how==4) how_str = "CLOCK_REALTIME_HR"
- if (how==5) how_str = "CLOCK_MONOTONIC_HR"
+ which_clock_str = _get_wc_str($which_clock)
/*
tp_tv_sec = $tp->tv_sec
tp_tv_usec = $tp->tv_usec
@@ -946,13 +928,7 @@ probe kernel.syscall.clock_settime.return =
kernel.function("sys_clock_settime").return {
name = "clock_settime.return"
which_clock = $which_clock
- which_clock_str = ""
- if (how==0) how_str = "CLOCK_REALTIME"
- if (how==1) how_str = "CLOCK_MONOTONIC"
- if (how==2) how_str = "CLOCK_PROCESS_CPUTIME_ID"
- if (how==3) how_str = "CLOCK_THREAD_CPUTIME_ID"
- if (how==4) how_str = "CLOCK_REALTIME_HR"
- if (how==5) how_str = "CLOCK_MONOTONIC_HR"
+ which_clock_str = _get_wc_str($which_clock)
/*
tp_tv_sec = $tp->tv_sec
tp_tv_usec = $tp->tv_usec
@@ -965,142 +941,199 @@ probe kernel.syscall.clock_gettime =
kernel.function("sys_clock_gettime") {
name = "clock_gettime"
which_clock = $which_clock
- which_clock_str = ""
- if (how==0) how_str = "CLOCK_REALTIME"
- if (how==1) how_str = "CLOCK_MONOTONIC"
- if (how==2) how_str = "CLOCK_PROCESS_CPUTIME_ID"
- if (how==3) how_str = "CLOCK_THREAD_CPUTIME_ID"
- if (how==4) how_str = "CLOCK_REALTIME_HR"
- if (how==5) how_str = "CLOCK_MONOTONIC_HR"
+ which_clock_str = _get_wc_str($which_clock)
}
probe kernel.syscall.clock_gettime.return =
kernel.function("sys_clock_gettime").return {
name = "clock_gettime.return"
which_clock = $which_clock
- which_clock_str = ""
- if (how==0) how_str = "CLOCK_REALTIME"
- if (how==1) how_str = "CLOCK_MONOTONIC"
- if (how==2) how_str = "CLOCK_PROCESS_CPUTIME_ID"
- if (how==3) how_str = "CLOCK_THREAD_CPUTIME_ID"
- if (how==4) how_str = "CLOCK_REALTIME_HR"
- if (how==5) how_str = "CLOCK_MONOTONIC_HR"
+ which_clock_str = _get_wc_str($which_clock)
/*
tp_tv_sec = $tp->tv_sec
tp_tv_usec = $tp->tv_usec
*/
}
# clock_getres_____________________________________
+/* asmlinkage long sys_clock_getres(clockid_t which_clock,
+ struct timespec __user *tp) */
probe kernel.syscall.clock_getres =
kernel.function("sys_clock_getres") {
name = "clock_getres"
which_clock = $which_clock
- which_clock_str = ""
- if (how==0) how_str = "CLOCK_REALTIME"
- if (how==1) how_str = "CLOCK_MONOTONIC"
- if (how==2) how_str = "CLOCK_PROCESS_CPUTIME_ID"
- if (how==3) how_str = "CLOCK_THREAD_CPUTIME_ID"
- if (how==4) how_str = "CLOCK_REALTIME_HR"
- if (how==5) how_str = "CLOCK_MONOTONIC_HR"
+ which_clock_str = _get_wc_str($which_clock)
}
probe kernel.syscall.clock_getres.return =
kernel.function("sys_clock_getres").return {
name = "clock_getres.return"
which_clock = $which_clock
- which_clock_str = ""
- if (how==0) how_str = "CLOCK_REALTIME"
- if (how==1) how_str = "CLOCK_MONOTONIC"
- if (how==2) how_str = "CLOCK_PROCESS_CPUTIME_ID"
- if (how==3) how_str = "CLOCK_THREAD_CPUTIME_ID"
- if (how==4) how_str = "CLOCK_REALTIME_HR"
- if (how==5) how_str = "CLOCK_MONOTONIC_HR"
+ which_clock_str = _get_wc_str($which_clock)
/*
tp_tv_sec = $tp->tv_sec
tp_tv_usec = $tp->tv_usec
*/
}
# clock_nanosleep__________________________________
+/* asmlinkage long sys_clock_nanosleep(clockid_t which_clock, int flags,
+ const struct timespec __user *rqtp,
+ struct timespec __user *rmtp) */
probe kernel.syscall.clock_nanosleep =
kernel.function("sys_clock_nanosleep") {
name = "clock_nanosleep"
+ which_clock = $which_clock
+ which_clock_str = _get_wc_str($which_clock)
+ flags = $flags
+ flag_str = "TIMER_ABSTIME"
+ /*
+ rqtp_tv_sec = $rqtp->tv_sec
+ rqtp_tv_usec = $rqtp->tv_usec
+ */
}
probe kernel.syscall.clock_nanosleep.return =
kernel.function("sys_clock_nanosleep").return {
name = "clock_nanosleep.return"
+ which_clock = $which_clock
+ which_clock_str = _get_wc_str($which_clock)
+ flags = $flags
+ flag_str = "TIMER_ABSTIME"
+ /*
+ rqtp_tv_sec = $rqtp->tv_sec
+ rqtp_tv_usec = $rqtp->tv_usec
+ rmtp_tv_sec = $rmtp->tv_sec
+ rmtp_tv_usec = $rmtp->tv_usec
+ */
}
# nice_____________________________________________
+/* asmlinkage long sys_nice(int increment) */
probe kernel.syscall.nice =
kernel.function("sys_nice") {
name = "nice"
+ inc = $increment
}
probe kernel.syscall.nice.return =
kernel.function("sys_nice").return {
name = "nice.return"
+ inc = $increment
}
# sched_setscheduler_______________________________
+/* asmlinkage long sys_sched_setscheduler(pid_t pid, int policy,
+ struct sched_param __user *param) */
probe kernel.syscall.sched_setscheduler =
kernel.function("do_sched_setscheduler") {
name = "sched_setscheduler"
+ pid = $pid
+ policy = $policy
+ policy_str = ""
+ if($policy==0) policy_str = "SCHED_OTHER"
+ if($policy==1) policy_str = "SCHED_FIFO"
+ if($policy==2) policy_str = "SCHED_RR"
+ /*
+ p_sched_priority = param->sched_parameter
+ */
}
probe kernel.syscall.sched_setscheduler.return =
kernel.function("do_sched_setscheduler").return {
name = "sched_setscheduler.return"
+ pid = $pid
+ policy = $policy
+ policy_str = ""
+ if($policy==0) policy_str = "SCHED_OTHER"
+ if($policy==1) policy_str = "SCHED_FIFO"
+ if($policy==2) policy_str = "SCHED_RR"
+ /*
+ p_sched_priority = param->sched_parameter
+ */
}
# sched_setparam___________________________________
+/* asmlinkage long sys_sched_setparam(pid_t pid,
+ struct sched_param __user *param) */
probe kernel.syscall.sched_setparam =
kernel.function("do_sched_setscheduler") {
name = "sched_setparam"
+ pid = $pid
+ /*
+ p_sched_priority = param->sched_parameter
+ */
}
probe kernel.syscall.sched_setparam.return =
kernel.function("do_sched_setscheduler").return {
name = "sched_setparam.return"
+ pid = $pid
+ /*
+ p_sched_priority = param->sched_parameter
+ */
}
# sched_getscheduler_______________________________
+/* asmlinkage long sys_sched_getscheduler(pid_t pid) */
probe kernel.syscall.sched_getscheduler =
kernel.function("sys_sched_getscheduler") {
name = "sched_getscheduler"
+ pid = $pid
}
probe kernel.syscall.sched_getscheduler.return =
kernel.function("sys_sched_getscheduler").return {
name = "sched_getscheduler.return"
+ pid = $pid
}
# sched_getparam___________________________________
+/* asmlinkage long sys_sched_getparam(pid_t pid,
+ struct sched_param __user *param) */
probe kernel.syscall.sched_getparam =
kernel.function("sys_sched_getparam") {
name = "sched_getparam"
+ pid = $pid
}
probe kernel.syscall.sched_getparam.return =
kernel.function("sys_sched_getparam").return {
name = "sched_getparam.return"
+ pid = $pid
+ /*
+ p_sched_priority = param->sched_parameter
+ */
}
# sched_setaffinity________________________________
+/* long sched_setaffinity(pid_t pid, cpumask_t new_mask) */
probe kernel.syscall.sched_setaffinity =
kernel.function("sys_sched_setaffinity") {
name = "sched_setaffinity"
+ pid = $pid
+ mask = $new_mask
}
probe kernel.syscall.sched_setaffinity.return =
kernel.function("sys_sched_setaffinity").return {
name = "sched_setaffinity.return"
+ pid = $pid
+ mask = $new_mask
}
# sched_getaffinity________________________________
+/* asmlinkage long sys_sched_getaffinity(pid_t pid, unsigned int len,
+ unsigned long __user *user_mask_ptr) */
probe kernel.syscall.sched_getaffinity =
kernel.function("sys_sched_getaffinity") {
name = "sched_getaffinity"
+ pid = $pid
+ len = $len
}
probe kernel.syscall.sched_getaffinity.return =
kernel.function("sys_sched_getaffinity").return {
name = "sched_getaffinity.return"
+ pid = $pid
+ len = $len
+ /*
+ mask = $user_mask_ptr
+ */
}
# sched_yield______________________________________
+/* asmlinkage long sys_sched_yield(void) */
probe kernel.syscall.sched_yield =
kernel.function("sys_sched_yield") {
name = "sched_yield"
@@ -1111,34 +1144,48 @@ probe kernel.syscall.sched_yield.return =
name = "sched_yield.return"
}
# sched_get_priority_max___________________________
+/* asmlinkage long sys_sched_get_priority_max(int policy) */
probe kernel.syscall.sched_get_priority_max =
kernel.function("sys_sched_get_priority_max") {
name = "sched_get_priority_max"
+ policy = $policy
}
probe kernel.syscall.sched_get_priority_max.return =
kernel.function("sys_sched_get_priority_max").return {
name = "sched_get_priority_max.return"
+ policy = $policy
}
# sched_get_priority_min___________________________
+/* asmlinkage long sys_sched_get_priority_min(int policy) */
probe kernel.syscall.sched_get_priority_min =
kernel.function("sys_sched_get_priority_min") {
name = "sched_get_priority_min"
+ policy = $policy
}
probe kernel.syscall.sched_get_priority_min.return =
kernel.function("sys_sched_get_priority_min").return {
name = "sched_get_priority_min.return"
+ policy = $policy
}
# sched_rr_get_interval____________________________
+/* asmlinkage long sys_sched_rr_get_interval(pid_t pid,
+ struct timespec __user *interval) */
probe kernel.syscall.sched_rr_get_interval =
kernel.function("sys_sched_rr_get_interval") {
name = "sched_rr_get_interval"
+ pid = $pid
}
probe kernel.syscall.sched_rr_get_interval.return =
kernel.function("sys_sched_rr_get_interval").return {
name = "sched_rr_get_interval.return"
+ pid = $pid
+ /*
+ tp_tv_sec = $tp->tv_sec
+ tp_tv_usec = $tp->tv_usec
+ */
}
# setpriority______________________________________
probe kernel.syscall.setpriority =
@@ -3350,3 +3397,13 @@ probe kernel.syscall.rt_sigaction.return =
kernel.function("sys_rt_sigaction").return {
name = "rt_sigaction.return"
}
+/* AUX_HELPER FUNCTIONS AUX_HELPER FUNCTIONS AUX_HELPER FUNCTIONS */
+_get_wc_str(wc) {
+ if (wc==0) return "CLOCK_REALTIME"
+ if (wc==1) return "CLOCK_MONOTONIC"
+ if (wc==2) return "CLOCK_PROCESS_CPUTIME_ID"
+ if (wc==3) return "CLOCK_THREAD_CPUTIME_ID"
+ if (wc==4) return "CLOCK_REALTIME_HR"
+ if (wc==5) return "CLOCK_MONOTONIC_HR"
+ return ""
+}