Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kerneltoast/6f89c9e26e95edd58c16a8e3be8096fe to your computer and use it in GitHub Desktop.
Save kerneltoast/6f89c9e26e95edd58c16a8e3be8096fe to your computer and use it in GitHub Desktop.
From ef91f1f2be70915fa2b4012618f211f92b41f952 Mon Sep 17 00:00:00 2001
From: Sultan Alsawaf <sultan@openresty.com>
Date: Mon, 1 Mar 2021 20:36:29 -0800
Subject: [PATCH] runtime: fix user symbol lookups when the first section isn't
executable
The first section of a user binary may not be executable, which breaks
the current assumption that the executable section always starts at an
offset of zero. This can result in the executable section's VMA never
being added, which breaks lookups for symbols inside that section.
To fix this, remove the faulty assumption that the executable section
starts at an offset of zero, and store the offset of each VMA region
added so that symbol lookups into an offset section return the correct
result.
---
runtime/sym.c | 12 ++++-----
runtime/task_finder_vma.c | 9 +++++--
runtime/unwind.c | 2 +-
runtime/vma.c | 54 ++++++++++++++++++++++++---------------
tapset/linux/ucontext.stp | 2 +-
5 files changed, 49 insertions(+), 30 deletions(-)
diff --git a/runtime/sym.c b/runtime/sym.c
index 1527a9a3d..96805f9ab 100644
--- a/runtime/sym.c
+++ b/runtime/sym.c
@@ -136,6 +136,7 @@ static struct _stp_module *_stp_kmod_sec_lookup(unsigned long addr,
static struct _stp_module *_stp_umod_lookup(unsigned long addr,
struct task_struct *task,
const char **name,
+ unsigned long *offset,
unsigned long *vm_start,
unsigned long *vm_end)
{
@@ -146,7 +147,7 @@ static struct _stp_module *_stp_umod_lookup(unsigned long addr,
addr &= ((compat_ulong_t) ~0);
#endif
if (stap_find_vma_map_info(task->group_leader, addr,
- vm_start, vm_end, name, &user) == 0)
+ vm_start, vm_end, offset, name, &user) == 0)
if (user != NULL)
{
struct _stp_module *m = (struct _stp_module *)user;
@@ -175,6 +176,7 @@ static const char *_stp_kallsyms_lookup(unsigned long addr,
if (task)
{
+ unsigned long sect_offset = 0;
unsigned long vm_start = 0;
unsigned long vm_end = 0;
#ifdef CONFIG_COMPAT
@@ -184,13 +186,13 @@ static const char *_stp_kallsyms_lookup(unsigned long addr,
if (_stp_is_compat_task2(task))
addr &= ((compat_ulong_t) ~0);
#endif
- m = _stp_umod_lookup(addr, task, modname, &vm_start, &vm_end);
+ m = _stp_umod_lookup(addr, task, modname, &sect_offset, &vm_start, &vm_end);
if (m)
{
sec = &m->sections[0];
/* XXX .absolute sections really shouldn't be here... */
if (strcmp(".dynamic", m->sections[0].name) == 0)
- rel_addr = addr - vm_start;
+ rel_addr = addr - vm_start + sect_offset;
else
rel_addr = addr;
}
@@ -372,14 +374,12 @@ unsigned long _stp_linenumber_lookup(unsigned long addr, struct task_struct *tas
if (task)
{
- unsigned long vm_start = 0;
- unsigned long vm_end = 0;
#ifdef CONFIG_COMPAT
/* Handle 32bit signed values in 64bit longs, chop off top bits. */
if (_stp_is_compat_task2(task))
addr &= ((compat_ulong_t) ~0);
#endif
- m = _stp_umod_lookup(addr, task, &modname, &vm_start, &vm_end);
+ m = _stp_umod_lookup(addr, task, &modname, NULL, NULL, NULL);
}
else
m = _stp_kmod_sec_lookup(addr, &sec);
diff --git a/runtime/task_finder_vma.c b/runtime/task_finder_vma.c
index dc77a80f5..17aaec386 100644
--- a/runtime/task_finder_vma.c
+++ b/runtime/task_finder_vma.c
@@ -54,6 +54,7 @@ struct __stp_tf_vma_entry {
struct task_struct *tsk;
unsigned long vm_start;
unsigned long vm_end;
+ unsigned long offset;
char path[TASK_FINDER_VMA_ENTRY_PATHLEN]; /* mmpath name, if known */
// User data (possibly stp_module)
@@ -206,7 +207,8 @@ __stp_tf_get_vma_bucket(struct task_struct *tsk)
// only from user context.
static int
stap_add_vma_map_info(struct task_struct *tsk, unsigned long vm_start,
- unsigned long vm_end, const char *path, void *user)
+ unsigned long vm_end, unsigned long offset,
+ const char *path, void *user)
{
struct __stp_tf_vma_bucket *bucket = __stp_tf_get_vma_bucket(tsk);
struct __stp_tf_vma_entry *entry;
@@ -227,6 +229,7 @@ stap_add_vma_map_info(struct task_struct *tsk, unsigned long vm_start,
entry->tsk = tsk;
entry->vm_start = vm_start;
entry->vm_end = vm_end;
+ entry->offset = offset;
entry->user = user;
path_len = strlen(path);
@@ -290,7 +293,7 @@ stap_remove_vma_map_info(struct task_struct *tsk, unsigned long vm_start)
static int
stap_find_vma_map_info(struct task_struct *tsk, unsigned long addr,
unsigned long *vm_start, unsigned long *vm_end,
- const char **path, void **user)
+ unsigned long *offset, const char **path, void **user)
{
struct __stp_tf_vma_bucket *bucket;
struct __stp_tf_vma_entry *entry;
@@ -308,6 +311,8 @@ stap_find_vma_map_info(struct task_struct *tsk, unsigned long addr,
*vm_start = entry->vm_start;
if (vm_end)
*vm_end = entry->vm_end;
+ if (offset)
+ *offset = entry->offset;
if (path)
*path = entry->path;
if (user)
diff --git a/runtime/unwind.c b/runtime/unwind.c
index 9cae157af..dba16a724 100644
--- a/runtime/unwind.c
+++ b/runtime/unwind.c
@@ -1495,7 +1495,7 @@ static int unwind(struct unwind_context *context, int user)
if (user)
{
- m = _stp_umod_lookup (pc, current, & module_name, NULL, NULL);
+ m = _stp_umod_lookup (pc, current, & module_name, NULL, NULL, NULL);
if (m)
s = &m->sections[0];
}
diff --git a/runtime/vma.c b/runtime/vma.c
index f88145a47..419d9a726 100644
--- a/runtime/vma.c
+++ b/runtime/vma.c
@@ -108,7 +108,7 @@ static void _stp_vma_match_vdso(struct task_struct *tsk)
if (found != NULL)
{
stap_add_vma_map_info(tsk, vdso_addr,
- vdso_addr + found->sections[0].size,
+ vdso_addr + found->sections[0].size, 0,
"vdso", found);
dbug_task_vma(1,"found vdso: %s\n", found->path);
}
@@ -158,16 +158,35 @@ static int _stp_vma_mmap_cb(struct stap_task_finder_target *tgt,
dbug_task_vma(1,
"mmap_cb: tsk %d:%d path %s, addr 0x%08lx, length 0x%08lx, offset 0x%lx, flags 0x%lx\n",
tsk->pid, tsk->tgid, path, addr, length, offset, vm_flags);
-
+
+ if (!path)
+ return 0;
+
+ /*
+ * Once registered, we may want to extend an earlier registered region.
+ * A segment might be mapped with different flags for different offsets.
+ * If so we want to record the extended range so we can address more
+ * precisely to module names and symbols. An extension is attempted
+ * first because it definitively tells whether or not an extension is
+ * possible.
+ */
+ res = stap_extend_vma_map_info(tsk->group_leader, addr, addr + length);
+ if (!res) {
+ dbug_task_vma(1,
+ "extended '%s' for %d (res:0) [%lx-%lx]\n",
+ path, tsk->group_leader->pid,
+ addr, addr + length);
+ return 0;
+ }
+
// We used to be only interested in the first load of the whole module that
// is executable. But with modern enough gcc/ld.so, executables are mapped
- // in more small pieces (r--p,r-xp,rw-p, instead of r-xp, rw-p). To establish
- // the virtual base address, we initially look for an offset=0 mapping.
+ // in more small pieces (r--p,r-xp,rw-p, instead of r-xp, rw-p). NB:
+ // the first section might not be executable, so there can be an offset.
//
// We register whether or not we know the module,
// so we can later lookup the name given an address for this task.
- if (path != NULL && offset == 0
- && stap_find_vma_map_info(tsk, addr, NULL, NULL, NULL, NULL) != 0) {
+ if (stap_find_vma_map_info(tsk, addr, NULL, NULL, NULL, NULL, NULL)) {
for (i = 0; i < _stp_num_modules; i++) {
// PR20433: papering over possibility of NULL pointers
if (strcmp(path ?: "", _stp_modules[i]->path ?: "") == 0)
@@ -185,14 +204,14 @@ static int _stp_vma_mmap_cb(struct stap_task_finder_target *tgt,
module,
&vm_start, &vm_end,
NULL);
- if (res == -ESRCH)
- res = stap_add_vma_map_info(tsk->group_leader,
- addr, addr + length,
- path, module);
- else if (res == 0 && vm_end + 1 == addr)
+ if (res == 0 && vm_end + 1 == addr)
res = stap_extend_vma_map_info(tsk->group_leader,
vm_start,
addr + length);
+ else
+ res = stap_add_vma_map_info(tsk->group_leader,
+ addr, addr + length,
+ offset, path, module);
/* VMA entries are allocated dynamically, this is fine,
* since we are in a task_finder callback, which is in
* user context. */
@@ -212,21 +231,16 @@ static int _stp_vma_mmap_cb(struct stap_task_finder_target *tgt,
|| _stp_target == tsk->group_leader->pid)
{
res = stap_add_vma_map_info(tsk->group_leader, addr,
- addr + length, path, NULL);
+ addr + length, offset, path,
+ NULL);
dbug_task_vma(1,
"registered '%s' for %d (res:%d) [%lx-%lx]\n",
path, tsk->group_leader->pid,
res, addr, addr + length);
}
- } else if (path != NULL) {
- // Once registered, we may want to extend an earlier
- // registered region. A segment might be mapped with
- // different flags for different offsets. If so we want
- // to record the extended range so we can address more
- // precisely to module names and symbols.
- res = stap_extend_vma_map_info(tsk->group_leader,
- addr, addr + length);
+ } else {
+ /* Print the extension failure from earlier */
dbug_task_vma(1,
"extended '%s' for %d (res:%d) [%lx-%lx]\n",
path, tsk->group_leader->pid,
diff --git a/tapset/linux/ucontext.stp b/tapset/linux/ucontext.stp
index f0ed7244c..987418cf7 100644
--- a/tapset/linux/ucontext.stp
+++ b/tapset/linux/ucontext.stp
@@ -17,7 +17,7 @@
function umodname:string (addr:long) %{
/* pure */ /* myproc-unprivileged */ /* pragma:vma */
const char *name = NULL;
- _stp_umod_lookup(STAP_ARG_addr, current, &name, NULL, NULL);
+ _stp_umod_lookup(STAP_ARG_addr, current, &name, NULL, NULL, NULL);
if (!name) {
name = "<unknown>";
#if STAP_COMPAT_VERSION >= STAP_VERSION(2,3) // PR15044
--
2.30.1
--- systemtap-before.sum 2021-02-25 13:31:01.918354817 -0800
+++ systemtap-after.sum 2021-03-01 22:49:33.377518526 -0800
@@ -1,4 +1,4 @@
-Test Run By root on Wed Feb 24 15:06:16 2021
+Test Run By root on Mon Mar 1 21:46:05 2021
Native configuration is x86_64-unknown-linux-gnu
=== systemtap tests ===
@@ -45,7 +45,10 @@
PASS: abort: TEST 5: abort() in the middle of a probe handler body (--compatible 3.3): stdout: string is ""
PASS: abort: TEST 5: abort() in the middle of a probe handler body (--compatible 3.3): exit code: string should NOT be "0"
PASS: abort: TEST 5: abort() in the middle of a probe handler body (--compatible 3.3): stderr: matches regex "^semantic error: unresolved function.*\(similar: [^\n]*?\): identifier 'abort' at [^\n]*?\.stp:3:5\n"
-PASS: abort: TEST 6: abort() in timer.profile (using globals): stdout: string is "fire 3!\nfire 2!\nfire 1!\n"
+FAIL: abort: TEST 6: abort() in timer.profile (using globals): stdout: string should be "fire 3!\nfire 2!\nfire 1!\n", but got "fire 2!
+fire 1!
+fire 3!
+"
PASS: abort: TEST 6: abort() in timer.profile (using globals): exit code: string is "0"
PASS: abort: TEST 7: abort() in timer.profile (more concurrency and no globals): stdout: string is ""
PASS: abort: TEST 7: abort() in timer.profile (more concurrency and no globals): stderr: string is ""
@@ -216,13 +219,11 @@
Running /home/sultan/systemtap/testsuite/systemtap.base/at_var_mark.exp ...
PASS: at_var_mark startup
PASS: at_var_mark load generation
-PASS: at_var_mark shutdown and output
+FAIL: at_var_mark unexpected output
Running /home/sultan/systemtap/testsuite/systemtap.base/at_var_mark_func.exp ...
-PASS: at_var_mark_func startup
-PASS: at_var_mark_func load generation
-PASS: at_var_mark_func shutdown and output
+FAIL: at_var_mark_func startup (eof)
Running /home/sultan/systemtap/testsuite/systemtap.base/at_var_pie.exp ...
-PASS: at_var_pie
+FAIL: at_var_pie
Running /home/sultan/systemtap/testsuite/systemtap.base/at_var_print.exp ...
PASS: at_var_print: TEST 1: atvar_op::print() output the module arg properly.: stdout: matches regex "\yreturn \@var\("v", "[^\n"]+/a\.out"\);"
PASS: at_var_print: TEST 1: atvar_op::print() output the module arg properly.: exit code: string is "0"
@@ -301,7 +302,7 @@
Running /home/sultan/systemtap/testsuite/systemtap.base/bz1074541.exp ...
PASS: ./bz1074541
Running /home/sultan/systemtap/testsuite/systemtap.base/bz1126645.exp ...
-FAIL: bz1126645 -p5 (27)
+FAIL: bz1126645 -p5 (5)
Running /home/sultan/systemtap/testsuite/systemtap.base/bz1214176.exp ...
PASS: stap -p4 -e { probe nfs.proc.read_done { println(server_ip) } }
PASS: stap -p4 -e { probe nfs.proc.read_setup { println(count) } }
@@ -385,7 +386,7 @@
Running /home/sultan/systemtap/testsuite/systemtap.base/caller.exp ...
PASS: caller startup
PASS: caller load generation
-FAIL: caller unexpected output
+PASS: caller shutdown and output
Running /home/sultan/systemtap/testsuite/systemtap.base/cast.exp ...
FAIL: systemtap.base/cast.stp
Running /home/sultan/systemtap/testsuite/systemtap.base/cast-scope.exp ...
@@ -636,7 +637,7 @@
FAIL: enum compiling enum.c
Running /home/sultan/systemtap/testsuite/systemtap.base/environment_sanity.exp ...
Host: Linux centos7-bb 3.10.0-1127.19.1.el7.x86_64 #1 SMP Tue Aug 25 17:23:54 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
-Snapshot: version 4.5/0.177, commit release-4.4-107-gc974dab2faf7
+Snapshot: version 4.5/0.177, commit release-4.4-106-gbc5865c311c5
GCC: 4.8.5 [gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)]
Distro: CentOS Linux release 7.8.2003 (Core)
SElinux: Enforcing
@@ -899,7 +900,7 @@
Running /home/sultan/systemtap/testsuite/systemtap.base/kretprobe-vars.exp ...
PASS: kretprobe-vars startup
PASS: kretprobe-vars load generation
-PASS: kretprobe-vars shutdown and output
+FAIL: kretprobe-vars unexpected output
Running /home/sultan/systemtap/testsuite/systemtap.base/labels.exp ...
PASS: compiling labels.c additional_flags=-g
PASS: labels :N .label 0
@@ -2789,9 +2790,9 @@
PASS: optim
Running /home/sultan/systemtap/testsuite/systemtap.base/optim_stats.exp ...
PASS: TEST1 (5, 14)
-PASS: TEST2 (20, 81)
-FAIL: TEST3 (5, 4)
-PASS: TEST4 (20, 66)
+PASS: TEST2 (20, 82)
+PASS: TEST3 (5, 5)
+PASS: TEST4 (20, 67)
Running /home/sultan/systemtap/testsuite/systemtap.base/optim_voidstmt.exp ...
PASS: optim_voidstmt startup
PASS: optim_voidstmt load generation
@@ -2825,7 +2826,7 @@
FAIL: perf process (0 - 0)
PASS: perf counter
FAIL: perf global (0 - 0)
-UNRESOLVED: counter order 1000000 800000
+UNRESOLVED: counter order 4000000 900000
Running /home/sultan/systemtap/testsuite/systemtap.base/plt.exp ...
PASS: plt
PASS: plt library
@@ -2922,7 +2923,7 @@
Running /home/sultan/systemtap/testsuite/systemtap.base/probe_list.exp ...
PASS: probe list is correct
Running /home/sultan/systemtap/testsuite/systemtap.base/probewrite.exp ...
-PASS: probewrite
+FAIL: probewrite
Running /home/sultan/systemtap/testsuite/systemtap.base/proc_by_pid.exp ...
PASS: proc_by_pid - compiled successfully
PASS: proc_by_pid startup
@@ -2934,10 +2935,10 @@
PASS: process-begin-user: TEST 2: register() in probe process.end (kernel): stdout: string is ""
PASS: process-begin-user: TEST 2: register() in probe process.end (kernel): exit code: string should NOT be "0"
PASS: process-begin-user: TEST 2: register() in probe process.end (kernel): stderr: matches regex "ERROR: cannot access CPU registers in this context"
-PASS: process-begin-user: TEST 3: @var() in probe process(PATH).begin (with vma tracker) (kernel): stdout: string is "a: 32\n"
-PASS: process-begin-user: TEST 3: @var() in probe process(PATH).begin (with vma tracker) (kernel): exit code: string is "0"
-PASS: process-begin-user: TEST 4: @var() in probe process.begin (with vma tracker) (kernel): stdout: string is "a: 32\n"
-PASS: process-begin-user: TEST 4: @var() in probe process.begin (with vma tracker) (kernel): exit code: string is "0"
+FAIL: process-begin-user: TEST 3: @var() in probe process(PATH).begin (with vma tracker) (kernel): stdout: string should be "a: 32\n", but got ""
+FAIL: process-begin-user: TEST 3: @var() in probe process(PATH).begin (with vma tracker) (kernel): exit code: string should be "0", but got "1"
+FAIL: process-begin-user: TEST 4: @var() in probe process.begin (with vma tracker) (kernel): stdout: string should be "a: 32\n", but got ""
+FAIL: process-begin-user: TEST 4: @var() in probe process.begin (with vma tracker) (kernel): exit code: string should be "0", but got "1"
Running /home/sultan/systemtap/testsuite/systemtap.base/process_by_cmd.exp ...
PASS: process_by_cmd.c compile
PASS: process_by_cmd.stp
@@ -2961,7 +2962,7 @@
PASS: PROC_EXEC_01 shutdown and output
PASS: PROC_EXEC_02 startup
PASS: PROC_EXEC_02 load generation
-PASS: PROC_EXEC_02 shutdown and output
+FAIL: PROC_EXEC_02 unexpected output
PASS: PROC_EXEC_03 startup
PASS: PROC_EXEC_03 load generation
PASS: PROC_EXEC_03 shutdown and output
@@ -3391,11 +3392,11 @@
PASS: compiling sdt.c -O2 uprobe
PASS: sdt_global_var -O2 uprobe additional_flags=-O2
PASS: compiling sdt.c uprobe
-PASS: sdt_global_var uprobe additional_flags=-fPIE additional_flags=-pie additional_flags=-O2
+FAIL: sdt_global_var uprobe additional_flags=-fPIE additional_flags=-pie additional_flags=-O2
PASS: compiling sdt.c -O2 V2_uprobe
PASS: sdt_global_var -O2 V2_uprobe additional_flags=-O2
PASS: compiling sdt.c V2_uprobe
-PASS: sdt_global_var V2_uprobe additional_flags=-fPIE additional_flags=-pie additional_flags=-O2
+FAIL: sdt_global_var V2_uprobe additional_flags=-fPIE additional_flags=-pie additional_flags=-O2
Running /home/sultan/systemtap/testsuite/systemtap.base/sdt_misc.exp ...
PASS: sdt_misc dtrace V1_uprobe
PASS: sdt_misc compiling V1_uprobe
@@ -3796,7 +3797,7 @@
PASS: tracepoints - kernel.trace("bla:")
PASS: tracepoints - kernel.trace("sched:")
PASS: systemtap.base/tracepoints.stp -w
-PASS: systemtap.base/tracepoints2.stp
+FAIL: systemtap.base/tracepoints2.stp
Running /home/sultan/systemtap/testsuite/systemtap.base/tracepoints_list.exp ...
UNTESTED: tracepoints_list (no perf)
Running /home/sultan/systemtap/testsuite/systemtap.base/tracescripts.exp ...
@@ -3885,12 +3886,12 @@
PASS: UTRACE_P5_01_cmd startup
PASS: UTRACE_P5_01_cmd load generation
PASS: UTRACE_P5_01_cmd shutdown and output
-PASS: UTRACE_P5_02 startup
-PASS: UTRACE_P5_02 load generation
-PASS: UTRACE_P5_02 shutdown and output
+FAIL: UTRACE_P5_01_cmd unexpected output (after passing output)
+FAIL: UTRACE_P5_02 startup (timeout)
PASS: UTRACE_P5_02_cmd startup
PASS: UTRACE_P5_02_cmd load generation
PASS: UTRACE_P5_02_cmd shutdown and output
+FAIL: UTRACE_P5_02_cmd unexpected output (after passing output)
PASS: UTRACE_P5_03 startup
PASS: UTRACE_P5_03 load generation
PASS: UTRACE_P5_03 shutdown and output
@@ -3899,7 +3900,7 @@
FAIL: UTRACE_P5_04 unexpected output
PASS: UTRACE_P5_05 startup
PASS: UTRACE_P5_05 load generation
-PASS: UTRACE_P5_05 shutdown and output
+FAIL: UTRACE_P5_05 unexpected output
PASS: UTRACE_P5_05_cmd startup
PASS: UTRACE_P5_05_cmd load generation
PASS: UTRACE_P5_05_cmd shutdown and output
@@ -3986,7 +3987,7 @@
Running /home/sultan/systemtap/testsuite/systemtap.base/warnings.exp ...
PASS: warnings
Running /home/sultan/systemtap/testsuite/systemtap.base/warn_overflow.exp ...
-FAIL: warn_overflow (3,1)
+FAIL: warn_overflow (2,2)
Running /home/sultan/systemtap/testsuite/systemtap.base/wordexp.exp ...
PASS: wordexp -c ""
PASS: wordexp -c "ls || true"
@@ -4078,7 +4079,7 @@
FAIL: user_string.stp eof (startup)
FAIL: while.stp eof (startup)
Running /home/sultan/systemtap/testsuite/systemtap.bpf/nonbpf.exp ...
-PASS: array.stp
+FAIL: array.stp incorrect result
PASS: array_in.stp
PASS: array_preinit.stp
PASS: assignment.stp
@@ -4094,7 +4095,7 @@
PASS: error_2.stp
PASS: exit1.stp
PASS: exit2.stp
-PASS: exit3.stp
+FAIL: exit3.stp incorrect result
PASS: for.stp
PASS: foreach.stp
PASS: foreach_pr23858.stp
@@ -4156,7 +4157,7 @@
PASS: dtrace_fork_exec1 - build success
PASS: dtrace_fork_exec2 startup
PASS: dtrace_fork_exec2 load generation
-FAIL: dtrace_fork_exec2 unexpected output
+PASS: dtrace_fork_exec2 shutdown and output
PASS: dtrace_fork_exec3 - build success
PASS: dtrace_fork_exec4 startup
PASS: dtrace_fork_exec4 load generation
@@ -4169,7 +4170,7 @@
PASS: dtrace_vfork_exec3 - build success
PASS: dtrace_vfork_exec4 startup
PASS: dtrace_vfork_exec4 load generation
-PASS: dtrace_vfork_exec4 shutdown and output
+FAIL: dtrace_vfork_exec4 unexpected output
Running /home/sultan/systemtap/testsuite/systemtap.clone/main_quiesce.exp ...
PASS: main_quiesce - compiled main_quiesce.c
PASS: main_quiesce startup
@@ -4177,7 +4178,9 @@
PASS: main_quiesce shutdown and output
Running /home/sultan/systemtap/testsuite/systemtap.clone/probe_by_pid.exp ...
PASS: probe_by_pid(utrace) - build success
-FAIL: probe_by_pid(utrace) startup (eof)
+PASS: probe_by_pid(utrace) startup
+PASS: probe_by_pid(utrace) load generation
+PASS: probe_by_pid(utrace) shutdown and output
PASS: probe_by_pid(function) startup
PASS: probe_by_pid(function) load generation
FAIL: probe_by_pid(function) unexpected output
@@ -4220,7 +4223,7 @@
Running /home/sultan/systemtap/testsuite/systemtap.context/context_ns.exp ...
PASS: pid_ns startup
PASS: pid_ns load generation
-PASS: pid_ns shutdown and output
+FAIL: pid_ns unexpected output
Running /home/sultan/systemtap/testsuite/systemtap.context/fib.exp ...
FAIL: fib (2 0)
FAIL: fib (10 0)
@@ -4354,7 +4357,7 @@
PASS: systemtap.examples/general/tcl-trace build
FAIL: systemtap.examples/general/tcl-trace run
PASS: systemtap.examples/general/varwatch build
-PASS: systemtap.examples/general/varwatch run
+FAIL: systemtap.examples/general/varwatch run
PASS: systemtap.examples/general/watchdog support
PASS: systemtap.examples/general/watchdog build
PASS: systemtap.examples/general/watchdog run
@@ -4369,7 +4372,7 @@
PASS: systemtap.examples/io/deviceseeks build
PASS: systemtap.examples/io/deviceseeks run
PASS: systemtap.examples/io/disktop build
-FAIL: systemtap.examples/io/disktop run
+PASS: systemtap.examples/io/disktop run
PASS: systemtap.examples/io/eatmydata build
PASS: systemtap.examples/io/eatmydata run
PASS: systemtap.examples/io/enospc build
@@ -4863,16 +4866,16 @@
Running /home/sultan/systemtap/testsuite/systemtap.onthefly/kprobes_onthefly.exp ...
PASS: kprobes_onthefly - otf_finish_at_start_disabled (valid output)
PASS: kprobes_onthefly - otf_finish_at_start_enabled (valid output)
-FAIL: kprobes_onthefly - otf_start_disabled_iter_1 (invalid output)
+PASS: kprobes_onthefly - otf_start_disabled_iter_1 (valid output)
PASS: kprobes_onthefly - otf_start_enabled_iter_1 (valid output)
-PASS: kprobes_onthefly - otf_start_disabled_iter_2 (valid output)
+FAIL: kprobes_onthefly - otf_start_disabled_iter_2 (invalid output)
FAIL: kprobes_onthefly - otf_start_enabled_iter_2 (invalid output)
-FAIL: kprobes_onthefly - otf_start_disabled_iter_3 (invalid output)
+PASS: kprobes_onthefly - otf_start_disabled_iter_3 (valid output)
PASS: kprobes_onthefly - otf_start_enabled_iter_3 (valid output)
FAIL: kprobes_onthefly - otf_start_disabled_iter_4 (invalid output)
FAIL: kprobes_onthefly - otf_start_enabled_iter_4 (invalid output)
FAIL: kprobes_onthefly - otf_start_disabled_iter_5 (invalid output)
-FAIL: kprobes_onthefly - otf_start_enabled_iter_5 (invalid output)
+PASS: kprobes_onthefly - otf_start_enabled_iter_5 (valid output)
FAIL: kprobes_onthefly - otf_timer_100ms (invalid output)
FAIL: kprobes_onthefly - otf_timer_50ms (invalid output)
FAIL: kprobes_onthefly - otf_timer_10ms (invalid output)
@@ -4907,19 +4910,19 @@
PASS: tracepoint_onthefly - otf_stress_hard_iter_2000 (survived)
Running /home/sultan/systemtap/testsuite/systemtap.onthefly/uprobes_onthefly.exp ...
PASS: uprobes_onthefly (compilation)
-FAIL: uprobes_onthefly - otf_finish_at_start_disabled (invalid output)
+FAIL: uprobes_onthefly - otf_finish_at_start_disabled (stap)
PASS: uprobes_onthefly - otf_finish_at_start_enabled (valid output)
FAIL: uprobes_onthefly - otf_start_disabled_iter_1 (invalid output)
FAIL: uprobes_onthefly - otf_start_enabled_iter_1 (invalid output)
-FAIL: uprobes_onthefly - otf_start_disabled_iter_2 (invalid output)
-FAIL: uprobes_onthefly - otf_start_enabled_iter_2 (invalid output)
-FAIL: uprobes_onthefly - otf_start_disabled_iter_3 (stap)
+FAIL: uprobes_onthefly - otf_start_disabled_iter_2 (stap)
+FAIL: uprobes_onthefly - otf_start_enabled_iter_2 (stap)
+FAIL: uprobes_onthefly - otf_start_disabled_iter_3 (invalid output)
FAIL: uprobes_onthefly - otf_start_enabled_iter_3 (invalid output)
FAIL: uprobes_onthefly - otf_start_disabled_iter_4 (invalid output)
FAIL: uprobes_onthefly - otf_start_enabled_iter_4 (invalid output)
FAIL: uprobes_onthefly - otf_start_disabled_iter_5 (invalid output)
FAIL: uprobes_onthefly - otf_start_enabled_iter_5 (invalid output)
-FAIL: uprobes_onthefly - otf_timer_100ms (invalid output)
+FAIL: uprobes_onthefly - otf_timer_100ms (stap)
FAIL: uprobes_onthefly - otf_timer_50ms (invalid output)
PASS: uprobes_onthefly - otf_stress_10ms_iter_50 (survived)
PASS: uprobes_onthefly - otf_stress_5ms_iter_50 (survived)
@@ -6880,7 +6883,7 @@
PASS: transok/two.stp
PASS: transok/varargs.stp
Running /home/sultan/systemtap/testsuite/systemtap.printf/autoprint.exp ...
-FAIL: autoprint.exp
+PASS: autoprint.exp
Running /home/sultan/systemtap/testsuite/systemtap.printf/basic1.exp ...
PASS: systemtap.printf/basic1.stp
PASS: systemtap.printf/basic1.stp -DSTP_LEGACY_PRINT
@@ -7039,7 +7042,7 @@
PASS: current shutdown and output
Running /home/sultan/systemtap/testsuite/systemtap.stress/parallel_exec.exp ...
PASS: parallel execute - load generation
-FAIL: parallel execute - (20 * 10) != 160
+PASS: parallel execute
Running /home/sultan/systemtap/testsuite/systemtap.stress/passlist.exp ...
UNTESTED: passlist is disabled
Running /home/sultan/systemtap/testsuite/systemtap.stress/tapset_functions.exp ...
@@ -7049,7 +7052,6 @@
UNTESTED: tapset_functions_stress (delete_stopwatch() blocklisted)
UNTESTED: tapset_functions_stress (discard() blocklisted)
FAIL: tapset_functions_stress (list_values(unknown))
-FAIL: tapset_functions_stress (list_values(unknown))
UNTESTED: tapset_functions_stress (mdelay() blocklisted)
UNTESTED: tapset_functions_stress (panic() blocklisted)
UNTESTED: tapset_functions_stress (raise() blocklisted)
@@ -7095,7 +7097,7 @@
PASS: 32-bit access nd_syscall
PASS: 32-bit acct nd_syscall
PASS: 32-bit adjtimex nd_syscall
-PASS: 32-bit aio nd_syscall
+FAIL: 32-bit aio nd_syscall
FAIL: 32-bit alarm nd_syscall
PASS: 32-bit arch_prctl nd_syscall
PASS: 32-bit bind nd_syscall
@@ -7104,9 +7106,9 @@
PASS: 32-bit capability nd_syscall
PASS: 32-bit chmod nd_syscall
PASS: 32-bit chroot nd_syscall
-PASS: 32-bit clock nd_syscall
+FAIL: 32-bit clock nd_syscall
PASS: 32-bit clone nd_syscall
-FAIL: 32-bit connect nd_syscall
+PASS: 32-bit connect nd_syscall
FAIL: 32-bit copy_file_range nd_syscall
PASS: 32-bit dcookie nd_syscall
PASS: 32-bit dir nd_syscall
@@ -7153,7 +7155,7 @@
PASS: 32-bit lseek nd_syscall
PASS: 32-bit lxattr nd_syscall
PASS: 32-bit madvise nd_syscall
-FAIL: 32-bit membarrier nd_syscall
+PASS: 32-bit membarrier nd_syscall
PASS: 32-bit memfd_create nd_syscall
PASS: 32-bit mempolicy nd_syscall
PASS: 32-bit mincore nd_syscall
@@ -7167,9 +7169,9 @@
PASS: 32-bit net1 nd_syscall
UNSUPPORTED: 32-bit nfsservctl nd_syscall not supported on this arch
UNSUPPORTED: 32-bit nice nd_syscall not supported on this arch
-FAIL: 32-bit numa nd_syscall
+PASS: 32-bit numa nd_syscall
PASS: 32-bit openclose nd_syscall
-FAIL: 32-bit perf_event nd_syscall
+PASS: 32-bit perf_event nd_syscall
PASS: 32-bit personality nd_syscall
PASS: 32-bit pgid nd_syscall
PASS: 32-bit pipe nd_syscall
@@ -7190,10 +7192,10 @@
PASS: 32-bit readv nd_syscall
PASS: 32-bit readwrite nd_syscall
PASS: 32-bit reboot nd_syscall
-PASS: 32-bit recv nd_syscall
+FAIL: 32-bit recv nd_syscall
PASS: 32-bit recvfrom nd_syscall
-PASS: 32-bit recvmmsg nd_syscall
-FAIL: 32-bit recvmsg nd_syscall
+FAIL: 32-bit recvmmsg nd_syscall
+PASS: 32-bit recvmsg nd_syscall
PASS: 32-bit remap_file_pages nd_syscall
PASS: 32-bit rename nd_syscall
PASS: 32-bit restart_syscall nd_syscall
@@ -7231,13 +7233,13 @@
PASS: 32-bit signal nd_syscall
PASS: 32-bit signalfd nd_syscall
PASS: 32-bit socket nd_syscall
-FAIL: 32-bit socketpair nd_syscall
+PASS: 32-bit socketpair nd_syscall
PASS: 32-bit stat nd_syscall
PASS: 32-bit statfs nd_syscall
PASS: 32-bit swap nd_syscall
FAIL: 32-bit sync nd_syscall
PASS: 32-bit sync_file_range nd_syscall
-FAIL: 32-bit syncfs nd_syscall
+PASS: 32-bit syncfs nd_syscall
PASS: 32-bit sysctl nd_syscall
PASS: 32-bit sysfs nd_syscall
PASS: 32-bit sysinfo nd_syscall
@@ -7259,7 +7261,7 @@
PASS: 32-bit vforkwait nd_syscall
PASS: 32-bit vhangup nd_syscall
FAIL: 32-bit wait nd_syscall
-FAIL: 32-bit wait4 nd_syscall
+PASS: 32-bit wait4 nd_syscall
PASS: 32-bit writev nd_syscall
PASS: 32-bit xattr nd_syscall
Running /home/sultan/systemtap/testsuite/systemtap.syscall/syscall_consistency.exp ...
@@ -7359,7 +7361,7 @@
PASS: 32-bit chmod syscall
PASS: 32-bit chroot syscall
FAIL: 32-bit clock syscall
-FAIL: 32-bit clone syscall
+PASS: 32-bit clone syscall
PASS: 32-bit connect syscall
FAIL: 32-bit copy_file_range syscall
PASS: 32-bit dcookie syscall
@@ -7367,11 +7369,11 @@
PASS: 32-bit domainname syscall
PASS: 32-bit dup syscall
PASS: 32-bit eventfd syscall
-FAIL: 32-bit execve syscall
+PASS: 32-bit execve syscall
UNSUPPORTED: 32-bit execveat syscall not supported on this arch
PASS: 32-bit exit syscall
PASS: 32-bit exit_group syscall
-PASS: 32-bit fadvise64 syscall
+FAIL: 32-bit fadvise64 syscall
PASS: 32-bit fallocate syscall
PASS: 32-bit fanotify syscall
PASS: 32-bit flock syscall
@@ -7421,7 +7423,7 @@
PASS: 32-bit net1 syscall
UNSUPPORTED: 32-bit nfsservctl syscall not supported on this arch
UNSUPPORTED: 32-bit nice syscall not supported on this arch
-FAIL: 32-bit numa syscall
+PASS: 32-bit numa syscall
PASS: 32-bit openclose syscall
FAIL: 32-bit perf_event syscall
PASS: 32-bit personality syscall
@@ -7434,7 +7436,7 @@
PASS: 32-bit pread syscall
PASS: 32-bit preadv syscall
PASS: 32-bit prlimit syscall
-FAIL: 32-bit process_vm syscall
+PASS: 32-bit process_vm syscall
PASS: 32-bit ptrace syscall
PASS: 32-bit pwrite syscall
PASS: 32-bit pwritev syscall
@@ -7446,7 +7448,7 @@
PASS: 32-bit reboot syscall
PASS: 32-bit recv syscall
PASS: 32-bit recvfrom syscall
-PASS: 32-bit recvmmsg syscall
+FAIL: 32-bit recvmmsg syscall
PASS: 32-bit recvmsg syscall
PASS: 32-bit remap_file_pages syscall
PASS: 32-bit rename syscall
@@ -7461,7 +7463,7 @@
PASS: 32-bit sched_setaffinity syscall
PASS: 32-bit sched_setscheduler syscall
PASS: 32-bit seccomp syscall
-PASS: 32-bit select syscall
+FAIL: 32-bit select syscall
PASS: 32-bit semctl syscall
PASS: 32-bit semget syscall
PASS: 32-bit semop syscall
@@ -7480,11 +7482,11 @@
PASS: 32-bit shmat syscall
PASS: 32-bit shmget syscall
PASS: 32-bit shutdown syscall
-FAIL: 32-bit sigaltstack syscall
+PASS: 32-bit sigaltstack syscall
UNSUPPORTED: 32-bit sigmask syscall not supported on this arch
PASS: 32-bit signal syscall
PASS: 32-bit signalfd syscall
-PASS: 32-bit socket syscall
+FAIL: 32-bit socket syscall
PASS: 32-bit socketpair syscall
PASS: 32-bit stat syscall
PASS: 32-bit statfs syscall
@@ -7510,9 +7512,9 @@
PASS: 32-bit unshare syscall
PASS: 32-bit uselib syscall
PASS: 32-bit userfaultfd syscall
-FAIL: 32-bit vforkwait syscall
+PASS: 32-bit vforkwait syscall
PASS: 32-bit vhangup syscall
-FAIL: 32-bit wait syscall
+PASS: 32-bit wait syscall
FAIL: 32-bit wait4 syscall
PASS: 32-bit writev syscall
PASS: 32-bit xattr syscall
@@ -7523,7 +7525,7 @@
PASS: 32-bit access tp_syscall
PASS: 32-bit acct tp_syscall
PASS: 32-bit adjtimex tp_syscall
-FAIL: 32-bit aio tp_syscall
+PASS: 32-bit aio tp_syscall
FAIL: 32-bit alarm tp_syscall
PASS: 32-bit arch_prctl tp_syscall
PASS: 32-bit bind tp_syscall
@@ -7572,7 +7574,7 @@
PASS: 32-bit ioperm tp_syscall
PASS: 32-bit ioprio tp_syscall
PASS: 32-bit itimer tp_syscall
-FAIL: 32-bit kcmp tp_syscall
+PASS: 32-bit kcmp tp_syscall
PASS: 32-bit kexec_load tp_syscall
PASS: 32-bit keyctl tp_syscall
PASS: 32-bit kill tp_syscall
@@ -7581,7 +7583,7 @@
PASS: 32-bit lseek tp_syscall
PASS: 32-bit lxattr tp_syscall
FAIL: 32-bit madvise tp_syscall
-PASS: 32-bit membarrier tp_syscall
+FAIL: 32-bit membarrier tp_syscall
PASS: 32-bit memfd_create tp_syscall
PASS: 32-bit mempolicy tp_syscall
PASS: 32-bit mincore tp_syscall
@@ -7590,7 +7592,7 @@
PASS: 32-bit modify_ldt tp_syscall
PASS: 32-bit module tp_syscall
PASS: 32-bit mount tp_syscall
-FAIL: 32-bit mq tp_syscall
+PASS: 32-bit mq tp_syscall
PASS: 32-bit msg_queue tp_syscall
PASS: 32-bit net1 tp_syscall
UNSUPPORTED: 32-bit nfsservctl tp_syscall not supported on this arch
@@ -7608,7 +7610,7 @@
PASS: 32-bit pread tp_syscall
PASS: 32-bit preadv tp_syscall
PASS: 32-bit prlimit tp_syscall
-PASS: 32-bit process_vm tp_syscall
+FAIL: 32-bit process_vm tp_syscall
FAIL: 32-bit ptrace tp_syscall
PASS: 32-bit pwrite tp_syscall
PASS: 32-bit pwritev tp_syscall
@@ -7619,8 +7621,8 @@
PASS: 32-bit readwrite tp_syscall
PASS: 32-bit reboot tp_syscall
PASS: 32-bit recv tp_syscall
-PASS: 32-bit recvfrom tp_syscall
-FAIL: 32-bit recvmmsg tp_syscall
+FAIL: 32-bit recvfrom tp_syscall
+PASS: 32-bit recvmmsg tp_syscall
PASS: 32-bit recvmsg tp_syscall
PASS: 32-bit remap_file_pages tp_syscall
PASS: 32-bit rename tp_syscall
@@ -8246,11 +8248,9 @@
PASS: unprivileged embedded C: myproc-unprivileged: --unprivileged: print_ubacktrace_fileline ()
PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapusr: print_ubacktrace_fileline (long, long, long)
PASS: unprivileged embedded C: myproc-unprivileged: --unprivileged: ubacktrace ()
-PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapusr: umodname (long)
-UNTESTED: unprivileged embedded C: no embedded C: ucallers (long)
-PASS: unprivileged embedded C: myproc-unprivileged: --unprivileged: _utrace_syscall_nr ()
-PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapusr: _utrace_syscall_arg (long)
-PASS: unprivileged embedded C: myproc-unprivileged: --unprivileged: _utrace_syscall_return ()
+PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapusr: _utrace_syscall_nr ()
+PASS: unprivileged embedded C: myproc-unprivileged: --unprivileged: _utrace_syscall_arg (long)
+PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapusr: _utrace_syscall_return ()
UNTESTED: unprivileged embedded C: no embedded C: __find_bdevname(long, long)
UNTESTED: unprivileged embedded C: no embedded C: ppos_pos (long)
UNTESTED: unprivileged embedded C: no embedded C: __page_ino (long)
@@ -8262,6 +8262,8 @@
UNTESTED: unprivileged embedded C: no embedded C: __file_filename (long)
UNTESTED: unprivileged embedded C: no embedded C: _dev_minor (long)
UNTESTED: unprivileged embedded C: no embedded C: _dev_major (long)
+PASS: unprivileged embedded C: myproc-unprivileged: --unprivileged: umodname (long)
+UNTESTED: unprivileged embedded C: no embedded C: ucallers (long)
PASS: unprivileged embedded C: privileged: --privilege=stapusr: __arch_ptrace_request_str(long)
UNTESTED: unprivileged embedded C: no embedded C: _arch_ptrace_argstr(long, long, long, long)
UNTESTED: unprivileged embedded C: no embedded C: _ptrace_return_arch_prctl_addr(long, long, long)
@@ -8815,8 +8817,6 @@
PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapsys: print_ubacktrace_fileline ()
PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapsys: print_ubacktrace_fileline (long, long, long)
PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapsys: ubacktrace ()
-PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapsys: umodname (long)
-UNTESTED: unprivileged embedded C: no embedded C: ucallers (long)
PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapsys: _utrace_syscall_nr ()
PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapsys: _utrace_syscall_arg (long)
PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapsys: _utrace_syscall_return ()
@@ -8831,6 +8831,8 @@
UNTESTED: unprivileged embedded C: no embedded C: __file_filename (long)
UNTESTED: unprivileged embedded C: no embedded C: _dev_minor (long)
UNTESTED: unprivileged embedded C: no embedded C: _dev_major (long)
+PASS: unprivileged embedded C: myproc-unprivileged: --privilege=stapsys: umodname (long)
+UNTESTED: unprivileged embedded C: no embedded C: ucallers (long)
PASS: unprivileged embedded C: privileged: --privilege=stapsys: __arch_ptrace_request_str(long)
UNTESTED: unprivileged embedded C: no embedded C: _arch_ptrace_argstr(long, long, long, long)
UNTESTED: unprivileged embedded C: no embedded C: _ptrace_return_arch_prctl_addr(long, long, long)
@@ -8944,10 +8946,10 @@
PASS: unprivileged embedded C (transitive): myproc-unprivileged: --unprivileged: usymdata (long)
PASS: unprivileged embedded C (transitive): myproc-unprivileged: --privilege=stapusr: usymfileline (long)
PASS: unprivileged embedded C (transitive): myproc-unprivileged: --unprivileged: sprint_ubacktrace ()
-PASS: unprivileged embedded C (transitive): myproc-unprivileged: --privilege=stapusr: umodname (long)
-UNTESTED: unprivileged embedded C (transitive): no embedded C: __find_bdevname(long, long)
-UNTESTED: unprivileged embedded C (transitive): no embedded C: __file_dev (long)
-UNTESTED: unprivileged embedded C (transitive): no embedded C: _dev_major (long)
+PASS: unprivileged embedded C (transitive): myproc-unprivileged: --privilege=stapusr: _utrace_syscall_nr ()
+UNTESTED: unprivileged embedded C (transitive): no embedded C: __page_ino (long)
+UNTESTED: unprivileged embedded C (transitive): no embedded C: __file_maxbytes (long)
+UNTESTED: unprivileged embedded C (transitive): no embedded C: ucallers (long)
PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: _struct_timezone_u(long)
PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: _struct_compat_utimbuf_modtime(long)
PASS: unprivileged embedded C (transitive): privileged: --privilege=stapsys: _struct_itimerval_u(long)
@@ -9057,10 +9059,10 @@
PASS: unprivileged embedded C (transitive): myproc-unprivileged: --privilege=stapsys: usymdata (long)
PASS: unprivileged embedded C (transitive): myproc-unprivileged: --privilege=stapsys: usymfileline (long)
PASS: unprivileged embedded C (transitive): myproc-unprivileged: --privilege=stapsys: sprint_ubacktrace ()
-PASS: unprivileged embedded C (transitive): myproc-unprivileged: --privilege=stapsys: umodname (long)
-UNTESTED: unprivileged embedded C (transitive): no embedded C: __find_bdevname(long, long)
-UNTESTED: unprivileged embedded C (transitive): no embedded C: __file_dev (long)
-UNTESTED: unprivileged embedded C (transitive): no embedded C: _dev_major (long)
+PASS: unprivileged embedded C (transitive): myproc-unprivileged: --privilege=stapsys: _utrace_syscall_nr ()
+UNTESTED: unprivileged embedded C (transitive): no embedded C: __page_ino (long)
+UNTESTED: unprivileged embedded C (transitive): no embedded C: __file_maxbytes (long)
+UNTESTED: unprivileged embedded C (transitive): no embedded C: ucallers (long)
Running /home/sultan/systemtap/testsuite/systemtap.unprivileged/unprivileged_myproc.exp ...
PASS: unprivileged myproc library compile
PASS: unprivileged myproc exe compile
@@ -9124,13 +9126,13 @@
PASS: unprivileged myproc: --privilege=stapusr process.thread.begin
PASS: unprivileged myproc: --unprivileged process.thread.end
FAIL: unprivileged myproc: --privilege=stapusr process(number).begin
-FAIL: unprivileged myproc: --unprivileged process(number).end
+PASS: unprivileged myproc: --unprivileged process(number).end
UNTESTED: unprivileged myproc: --privilege=stapusr process(number).insn
UNTESTED: unprivileged myproc: --privilege=stapusr process(number).insn.block
KFAIL: unprivileged myproc: --privilege=stapusr process(number).statement(number).absolute (PRMS: INODE_UPROBES)
KFAIL: unprivileged myproc: --unprivileged process(number).statement(number).absolute.return (PRMS: INODE_UPROBES)
PASS: unprivileged myproc: --privilege=stapusr process(number).syscall
-PASS: unprivileged myproc: --unprivileged process(number).syscall.return
+FAIL: unprivileged myproc: --unprivileged process(number).syscall.return
UNTESTED: unprivileged myproc: --privilege=stapusr process(number).thread.begin
UNTESTED: unprivileged myproc: --privilege=stapusr process(number).thread.end
PASS: unprivileged myproc: --privilege=stapusr process(number).function(number)
@@ -9139,7 +9141,7 @@
FAIL: unprivileged myproc: --unprivileged process(number).function(number).return
PASS: unprivileged myproc: --privilege=stapusr process(number).function(string)
PASS: unprivileged myproc: --unprivileged process(number).function(string).call
-PASS: unprivileged myproc: --privilege=stapusr process(number).function(string).callee(string)
+FAIL: unprivileged myproc: --privilege=stapusr process(number).function(string).callee(string)
PASS: unprivileged myproc: --unprivileged process(number).function(string).callee(string).call
PASS: unprivileged myproc: --privilege=stapusr process(number).function(string).callee(string).return
PASS: unprivileged myproc: --unprivileged process(number).function(string).callees
@@ -9150,14 +9152,14 @@
PASS: unprivileged myproc: --privilege=stapusr process(number).function(string).return
PASS: unprivileged myproc: --unprivileged process(number).mark(string)
PASS: unprivileged myproc: --privilege=stapusr process(number).plt
-PASS: unprivileged myproc: --unprivileged process(number).plt.return
-FAIL: unprivileged myproc: --privilege=stapusr process(number).plt(string)
+FAIL: unprivileged myproc: --unprivileged process(number).plt.return
+PASS: unprivileged myproc: --privilege=stapusr process(number).plt(string)
PASS: unprivileged myproc: --unprivileged process(number).plt(string).return
PASS: unprivileged myproc: --privilege=stapusr process(number).provider(string).mark(string)
PASS: unprivileged myproc: --unprivileged process(number).statement(number)
PASS: unprivileged myproc: --privilege=stapusr process(number).statement(number).nearest
PASS: unprivileged myproc: --unprivileged process(number).statement(string)
-FAIL: unprivileged myproc: --privilege=stapusr process(number).statement(string).nearest
+PASS: unprivileged myproc: --privilege=stapusr process(number).statement(string).nearest
PASS: unprivileged myproc: --unprivileged process(string).begin
PASS: unprivileged myproc: --privilege=stapusr process(string).end
PASS: unprivileged myproc: --unprivileged process(string).function(number)
@@ -9169,41 +9171,41 @@
PASS: unprivileged myproc: --unprivileged process(string).function(string).call
PASS: unprivileged myproc: --privilege=stapusr process(string).function(string).inline
PASS: unprivileged myproc: --unprivileged process(string).function(string).return
-PASS: unprivileged myproc: --privilege=stapusr process(string).function(string).exported
-FAIL: unprivileged myproc: --unprivileged process(string).function(string).callee(string)
+FAIL: unprivileged myproc: --privilege=stapusr process(string).function(string).exported
+PASS: unprivileged myproc: --unprivileged process(string).function(string).callee(string)
PASS: unprivileged myproc: --privilege=stapusr process(string).function(string).callee(string).call
PASS: unprivileged myproc: --unprivileged process(string).function(string).callee(string).return
PASS: unprivileged myproc: --privilege=stapusr process(string).function(string).callees
PASS: unprivileged myproc: --unprivileged process(string).function(string).callees(number)
UNTESTED: unprivileged myproc: --privilege=stapusr process(string).insn
UNTESTED: unprivileged myproc: --privilege=stapusr process(string).insn.block
-FAIL: unprivileged myproc: --privilege=stapusr process(string).library(string).function(number)
+PASS: unprivileged myproc: --privilege=stapusr process(string).library(string).function(number)
PASS: unprivileged myproc: --unprivileged process(string).library(string).function(number).call
KFAIL: unprivileged myproc: --privilege=stapusr process(string).library(string).function(number).inline (PRMS: GCC)
-PASS: unprivileged myproc: --unprivileged process(string).library(string).function(number).return
+FAIL: unprivileged myproc: --unprivileged process(string).library(string).function(number).return
PASS: unprivileged myproc: --privilege=stapusr process(string).library(string).function(number).exported
-PASS: unprivileged myproc: --unprivileged process(string).library(string).function(string)
+FAIL: unprivileged myproc: --unprivileged process(string).library(string).function(string)
PASS: unprivileged myproc: --privilege=stapusr process(string).library(string).function(string).call
PASS: unprivileged myproc: --unprivileged process(string).library(string).function(string).inline
PASS: unprivileged myproc: --privilege=stapusr process(string).library(string).function(string).return
-PASS: unprivileged myproc: --unprivileged process(string).library(string).function(string).exported
-PASS: unprivileged myproc: --privilege=stapusr process(string).library(string).function(string).label(string)
+FAIL: unprivileged myproc: --unprivileged process(string).library(string).function(string).exported
+FAIL: unprivileged myproc: --privilege=stapusr process(string).library(string).function(string).label(string)
FAIL: unprivileged myproc: --unprivileged process(string).library(string).function(string).callee(string)
PASS: unprivileged myproc: --privilege=stapusr process(string).library(string).function(string).callee(string).call
UNTESTED: unprivileged myproc: --unprivileged process(string).library(string).function(string).callee(string).return
-PASS: unprivileged myproc: --unprivileged process(string).library(string).function(string).callees
+FAIL: unprivileged myproc: --unprivileged process(string).library(string).function(string).callees
PASS: unprivileged myproc: --privilege=stapusr process(string).library(string).function(string).callees(number)
-PASS: unprivileged myproc: --unprivileged process(string).library(string).mark(string)
-PASS: unprivileged myproc: --privilege=stapusr process(string).library(string).provider(string).mark(string)
+FAIL: unprivileged myproc: --unprivileged process(string).library(string).mark(string)
+FAIL: unprivileged myproc: --privilege=stapusr process(string).library(string).provider(string).mark(string)
PASS: unprivileged myproc: --unprivileged process(string).library(string).statement(number)
-PASS: unprivileged myproc: --privilege=stapusr process(string).library(string).statement(number).nearest
-PASS: unprivileged myproc: --unprivileged process(string).library(string).statement(string)
+FAIL: unprivileged myproc: --privilege=stapusr process(string).library(string).statement(number).nearest
+FAIL: unprivileged myproc: --unprivileged process(string).library(string).statement(string)
PASS: unprivileged myproc: --privilege=stapusr process(string).library(string).statement(string).nearest
-FAIL: unprivileged myproc: --unprivileged process(string).library(string).plt
+PASS: unprivileged myproc: --unprivileged process(string).library(string).plt
PASS: unprivileged myproc: --privilege=stapusr process(string).library(string).plt.return
PASS: unprivileged myproc: --unprivileged process(string).library(string).plt(string)
-FAIL: unprivileged myproc: --privilege=stapusr process(string).library(string).plt(string).return
-PASS: unprivileged myproc: --unprivileged process(string).mark(string)
+PASS: unprivileged myproc: --privilege=stapusr process(string).library(string).plt(string).return
+FAIL: unprivileged myproc: --unprivileged process(string).mark(string)
PASS: unprivileged myproc: --privilege=stapusr process(string).provider(string).mark(string)
PASS: unprivileged myproc: --unprivileged process(string).statement(number)
PASS: unprivileged myproc: --privilege=stapusr process(string).statement(number).nearest
@@ -9212,7 +9214,7 @@
PASS: unprivileged myproc: --unprivileged process(string).plt
PASS: unprivileged myproc: --privilege=stapusr process(string).plt.return
PASS: unprivileged myproc: --unprivileged process(string).plt(string)
-FAIL: unprivileged myproc: --privilege=stapusr process(string).plt(string).return
+PASS: unprivileged myproc: --privilege=stapusr process(string).plt(string).return
PASS: unprivileged myproc: --unprivileged process(string).syscall
PASS: unprivileged myproc: --privilege=stapusr process(string).syscall.return
PASS: unprivileged myproc: --unprivileged process(string).thread.begin
@@ -9276,7 +9278,7 @@
PASS: unprivileged myproc: --privilege=stapsys process.syscall.return
PASS: unprivileged myproc: --privilege=stapsys process.thread.begin
PASS: unprivileged myproc: --privilege=stapsys process.thread.end
-PASS: unprivileged myproc: --privilege=stapsys process(number).begin
+FAIL: unprivileged myproc: --privilege=stapsys process(number).begin
PASS: unprivileged myproc: --privilege=stapsys process(number).end
KFAIL: unprivileged myproc: --privilege=stapsys process(number).insn (PRMS: ITRACE)
KFAIL: unprivileged myproc: --privilege=stapsys process(number).insn.block (PRMS: ITRACE)
@@ -9298,13 +9300,13 @@
PASS: unprivileged myproc: --privilege=stapsys process(number).function(string).callees
PASS: unprivileged myproc: --privilege=stapsys process(number).function(string).callees(number)
PASS: unprivileged myproc: --privilege=stapsys process(number).function(string).exported
-FAIL: unprivileged myproc: --privilege=stapsys process(number).function(string).inline
+PASS: unprivileged myproc: --privilege=stapsys process(number).function(string).inline
PASS: unprivileged myproc: --privilege=stapsys process(number).function(string).label(string)
PASS: unprivileged myproc: --privilege=stapsys process(number).function(string).return
PASS: unprivileged myproc: --privilege=stapsys process(number).mark(string)
PASS: unprivileged myproc: --privilege=stapsys process(number).plt
-PASS: unprivileged myproc: --privilege=stapsys process(number).plt.return
-FAIL: unprivileged myproc: --privilege=stapsys process(number).plt(string)
+FAIL: unprivileged myproc: --privilege=stapsys process(number).plt.return
+PASS: unprivileged myproc: --privilege=stapsys process(number).plt(string)
PASS: unprivileged myproc: --privilege=stapsys process(number).plt(string).return
PASS: unprivileged myproc: --privilege=stapsys process(number).provider(string).mark(string)
PASS: unprivileged myproc: --privilege=stapsys process(number).statement(number)
@@ -9316,14 +9318,14 @@
PASS: unprivileged myproc: --privilege=stapsys process(string).function(number)
PASS: unprivileged myproc: --privilege=stapsys process(string).function(number).call
KFAIL: unprivileged myproc: --privilege=stapsys process(string).function(number).inline (PRMS: GCC)
-PASS: unprivileged myproc: --privilege=stapsys process(string).function(number).return
+FAIL: unprivileged myproc: --privilege=stapsys process(string).function(number).return
PASS: unprivileged myproc: --privilege=stapsys process(string).function(number).exported
PASS: unprivileged myproc: --privilege=stapsys process(string).function(string)
PASS: unprivileged myproc: --privilege=stapsys process(string).function(string).call
PASS: unprivileged myproc: --privilege=stapsys process(string).function(string).inline
PASS: unprivileged myproc: --privilege=stapsys process(string).function(string).return
PASS: unprivileged myproc: --privilege=stapsys process(string).function(string).exported
-PASS: unprivileged myproc: --privilege=stapsys process(string).function(string).callee(string)
+FAIL: unprivileged myproc: --privilege=stapsys process(string).function(string).callee(string)
PASS: unprivileged myproc: --privilege=stapsys process(string).function(string).callee(string).call
PASS: unprivileged myproc: --privilege=stapsys process(string).function(string).callee(string).return
PASS: unprivileged myproc: --privilege=stapsys process(string).function(string).callees
@@ -9353,7 +9355,7 @@
PASS: unprivileged myproc: --privilege=stapsys process(string).library(string).statement(string)
PASS: unprivileged myproc: --privilege=stapsys process(string).library(string).statement(string).nearest
PASS: unprivileged myproc: --privilege=stapsys process(string).library(string).plt
-PASS: unprivileged myproc: --privilege=stapsys process(string).library(string).plt.return
+FAIL: unprivileged myproc: --privilege=stapsys process(string).library(string).plt.return
PASS: unprivileged myproc: --privilege=stapsys process(string).library(string).plt(string)
PASS: unprivileged myproc: --privilege=stapsys process(string).library(string).plt(string).return
PASS: unprivileged myproc: --privilege=stapsys process(string).mark(string)
@@ -10342,8 +10344,8 @@
=== systemtap Summary ===
-# of expected passes 8076
-# of unexpected failures 399
+# of expected passes 8061
+# of unexpected failures 413
# of unexpected successes 9
# of expected failures 346
# of known failures 82
This file has been truncated, but you can view the full file.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment