blob: 045613f680c356f2a9d2ba56336cf880ca04dd47 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#! stap -p4
probe kernel.function("sys_open") { println(@defined($foobar)?$foobar:0) } # invalid
probe kernel.function("sys_open") { println(@defined($mode)?$mode:$nosuchvar) } # valid
probe kernel.function("sys_open").return { println(@defined($foobar)?$foobar:0) } # invalid
probe kernel.function("sys_open").return { println(@defined($mode)?$mode:$nosuchvar) } # valid
probe kernel.trace("*")? { println(@defined($rw)?$rw:0) } # valid and invalid in places
probe kernel.mark("*")? { println(@defined($foo)?$foo:0) } # invalid
probe kernel.mark("*")? { println(@defined($name)?$name:$nosuchvar) } # valid
probe kernel.mark("*")? { println(@defined($argJJJ)?$argJJJ:0) }
probe process("stap").mark("*")? { println(@defined($arg1)?$arg1:$nosuchvar) } # valid
probe process("stap").mark("*")? { println(@defined($nosuchvar)?$nosuchvar:0) } # invalid
probe procfs("file").read { println(@defined($nosuchvar)?$nosuchvar:0) } # invalid
probe procfs("file").write { println(@defined($value)?$value:$nosuchvar) } # valid
%( CONFIG_UTRACE == "y" %?
probe process("stap").syscall { println(@defined($arg1)?$arg1:$nosuchvar) } # valid
probe process("stap").begin { println(@defined($arg7)?$arg7:0) } # invalid
probe process("stap").syscall { println(@defined($argZZ)?$argZZ:0) } # invalid
probe process("stap").syscall.return { println(@defined($nosuchvar)?$nosuchvar:0) } # invalid
probe process("stap").syscall.return { println(@defined($syscall)?$syscall:$nosuchvar) } # valid
%)
probe begin,end,error,never { println(@defined($nosuchvar)?$nosuchvar:0) } # invalid
probe timer.s(1),timer.jiffies(1) { println(@defined($nosuchvar)?$nosuchvar:0) } # invalid
probe timer.profile { println(@defined($nosuchvar)?$nosuchvar:0) } # invalid
probe begin { println(@defined(@cast(0, "task_struct")->foo)?$nosuchvar:0) } # invalid
probe begin { println(@defined(@cast(0, "task_struct")->pid)?1:$nosuchvar) } # valid
probe kernel.function("sys_open") { println(@defined(@cast(0, "task_struct")->foo)?$nosuchvar:0) } # invalid
probe kernel.function("sys_open") { println(@defined(@cast(0, "task_struct")->pid)?1:$nosuchvar) } # valid
function foo1() { println(@defined(@cast(0, "task_struct")->foo)?$nosuchvar:0) } # invalid
function foo2() { println(@defined(@cast(0, "task_struct")->pid)?1:$nosuchvar) } # valid
probe begin { foo1(); foo2(); }
|