File tree Expand file tree Collapse file tree 2 files changed +28
-0
lines changed
tools/testing/selftests/ftrace/test.d/dynevent Expand file tree Collapse file tree 2 files changed +28
-0
lines changed Original file line number Diff line number Diff line change 5
5
6
6
KPROBES=
7
7
FPROBES=
8
+ FIELDS=
8
9
9
10
if grep -qF " p[:[<group>/][<event>]] <place> [<args>]" README ; then
10
11
KPROBES=yes
11
12
fi
12
13
if grep -qF " f[:[<group>/][<event>]] <func-name>[%return] [<args>]" README ; then
13
14
FPROBES=yes
14
15
fi
16
+ if grep -qF " <argname>[->field[->field|.field...]]" README ; then
17
+ FIELDS=yes
18
+ fi
15
19
16
20
if [ -z " $KPROBES " -a -z " $FPROBES " ] ; then
17
21
exit_unsupported
@@ -21,6 +25,9 @@ echo 0 > events/enable
21
25
echo > dynamic_events
22
26
23
27
TP=kfree
28
+ TP2=kmem_cache_alloc
29
+ TP3=getname_flags
30
+ TP4=sched_wakeup
24
31
25
32
if [ " $FPROBES " ] ; then
26
33
echo " f:fpevent $TP object" >> dynamic_events
@@ -33,6 +40,7 @@ echo > dynamic_events
33
40
34
41
echo " f:fpevent $TP " ' $arg1' >> dynamic_events
35
42
grep -q " fpevent.*object=object" dynamic_events
43
+
36
44
echo > dynamic_events
37
45
38
46
echo " f:fpevent $TP " ' $arg*' >> dynamic_events
45
53
46
54
echo > dynamic_events
47
55
56
+ if [ " $FIELDS " ] ; then
57
+ echo " t:tpevent ${TP2} obj_size=s->object_size" >> dynamic_events
58
+ echo " f:fpevent ${TP3} %return path=\$ retval->name:string" >> dynamic_events
59
+ echo " t:tpevent2 ${TP4} p->se.group_node.next->prev" >> dynamic_events
60
+
61
+ grep -q " tpevent .*obj_size=s->object_size" dynamic_events
62
+ grep -q " fpevent.*path=\$ retval->name:string" dynamic_events
63
+ grep -q ' tpevent2 .*p->se.group_node.next->prev' dynamic_events
64
+
65
+ echo > dynamic_events
66
+ fi
67
+
48
68
if [ " $KPROBES " ] ; then
49
69
echo " p:kpevent $TP object" >> dynamic_events
50
70
grep -q " kpevent.*object=object" dynamic_events
Original file line number Diff line number Diff line change @@ -103,6 +103,14 @@ check_error 'f vfs_read%return ^$arg*' # NOFENTRY_ARGS
103
103
check_error ' f vfs_read ^hoge' # NO_BTFARG
104
104
check_error ' f kfree ^$arg10' # NO_BTFARG (exceed the number of parameters)
105
105
check_error ' f kfree%return ^$retval' # NO_RETVAL
106
+
107
+ if grep -qF " <argname>[->field[->field|.field...]]" README ; then
108
+ check_error ' f vfs_read%return $retval->^foo' # NO_PTR_STRCT
109
+ check_error ' f vfs_read file->^foo' # NO_BTF_FIELD
110
+ check_error ' f vfs_read file^-.foo' # BAD_HYPHEN
111
+ check_error ' f vfs_read ^file:string' # BAD_TYPE4STR
112
+ fi
113
+
106
114
else
107
115
check_error ' f vfs_read ^$arg*' # NOSUP_BTFARG
108
116
check_error ' t kfree ^$arg*' # NOSUP_BTFARG
You can’t perform that action at this time.
0 commit comments