Last active
March 2, 2021 21:43
-
-
Save kerneltoast/6f89c9e26e95edd58c16a8e3be8096fe to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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, §_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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- 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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment